首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Undeclared identifier:'Winlogon'解决方法

2012-03-31 
Undeclared identifier:Winlogon这个问题如何解决啊,我查了一下说是要升级一下SDK,有必要吗代码如下proc

Undeclared identifier:'Winlogon'
这个问题如何解决啊,我查了一下说是要升级一下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);

[解决办法]
New Service Application,设置Service Type =stWin32,设置InterActive:=True 
然后在New一个Form,在Service1 OnStart或者某个地方写上代码:Form2.Show;然后在Form2 OnClose中写代码:Service1.Status := csStopped
另外那句话报错肯定是你的Function OpenDesktop上面定义有问题,第一个Winlogon参数是什么意思?
[解决办法]
HDesk_WL := OpenDesktop (Winlogon, 0, False, DESKTOP_JOURNALPLAYBACK);
这句改成
 HDesk_WL := OpenDesktop ('Winlogon', 0, False, DESKTOP_JOURNALPLAYBACK);
即 Winlogon改成加上单引号

热点排行