我有一个内核模式驱动程序,我必须在64位Windows 7上安装它.它需要进行数字签名.我使用了数字签名dseo13b.exe.但是当我加载驱动程序时,系统事件日志中出现错误:
由于以下错误,驱动程序无法启动:
Windows无法验证此文件的数字签名.最近的硬件或软件更改可能安装了错误或损坏的文件,或者可能是来自未知来源的恶意软件.
我不想使用testsigning模式.我该如何解决这个问题?我需要从Microsoft获得证书吗?
我开发了驱动程序,现在正在64位机器上运行...
我正在使用来自服务的GetForegroundWindow(),因为我想监视焦点的窗口,但由于交互式用户问题,该函数在Windows 7上返回null.有什么方法可以让我在服务中获得专注的窗口吗?
HWINSTA hWinStaUser = OpenWindowStation(_T("WinSta0"), FALSE, MAXIMUM_ALLOWED);
if (SetProcessWindowStation(hWinStaUser))
{
/* -- Open user's desktop "Default". -- */
HDESK hDeskUser = OpenInputDesktop(0,FALSE,MAXIMUM_ALLOWED);
//HDESK hDeskUser = OpenDesktop(_T("Default"), 0, FALSE, MAXIMUM_ALLOWED);
/* -- Set thread desktop to "Default". -- */
if (SetThreadDesktop(hDeskUser))
{
HWND hwndActiveWin = GetForegroundWindow();
int idActive = GetWindowThreadProcessId(hwndActiveWin, NULL);
if ( AttachThreadInput(GetCurrentThreadId(), idActive, TRUE) )
{
HWND hwndFocused = GetFocus (); // focused control within the active window, i.e. focus throughout the screen
if(hwndFocused != NULL)
{
DWORD …Run Code Online (Sandbox Code Playgroud)