这个问题如何解决啊,我查了一下说是要升级一下SDK,有必要吗代码如下
procedure SendHokKey;stdcall;
var
HDesk_WL: HDESK;
begin
  HDesk_WL := OpenDesktop (Winlogon, 0, False, DESKTOP_JOURNALPLAYBACK);
  if (HDesk_WL <> 0) then
  if (SetThreadDesktop (HDesk_WL) = True) then
  PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG (MOD_ALT or MOD_CONTROL, VK_DELETE));
end;就这是这段报错
 HDesk_WL := OpenDesktop (Winlogon, 0, False, DESKTOP_JOURNALPLAYBACK);

解决方案 »

  1.   

    Points to null-terminated string specifying the name of the desktop to be opened. Desktop names are case-insensitive.********************
    Winlogon 没定义。
      

  2.   

    大侠,再问你个问题,delphi做的服务程序怎显示界面啊,我就是想做一个后台服务程序,然后可以显示桌面,也可以退出该界面,生成服务我已经做了,可就是不显示界面啊
      

  3.   

    New Service Application,设置Service Type =stWin32,设置InterActive:=True 
    然后在New一个Form,在Service1 OnStart或者某个地方写上代码:Form2.Show;然后在Form2 OnClose中写代码:Service1.Status := csStopped
    另外那句话报错肯定是你的Function OpenDesktop上面定义有问题,第一个Winlogon参数是什么意思?
      

  4.   

     HDesk_WL := OpenDesktop (Winlogon, 0, False, DESKTOP_JOURNALPLAYBACK);
    这句改成
     HDesk_WL := OpenDesktop ('Winlogon', 0, False, DESKTOP_JOURNALPLAYBACK);
    即 Winlogon改成加上单引号