Windows服务中如何知道桌面已启动(console级别的) 如题。这么做的目的是当桌面(console级别的,即在本机电脑启动登录的界面,非远程桌面登录的用户)启动的时候,创建该服务的控制界面。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主搜索一下 WM_WTSSESSION_CHANGE 消息相关的资料,应该会有收获! 微软主页上有参考示例!http://support.microsoft.com/kb/310153/zh-cn 贴一下代码:case WM_WTSSESSION_CHANGE: switch( wParam ) { case WTS_CONSOLE_CONNECT: MessageBox(hWnd, TEXT("WTS_CONSOLE_CONNECT"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );break; case WTS_CONSOLE_DISCONNECT: MessageBox(hWnd, TEXT("WTS_CONSOLE_DISCONNECT"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );break; case WTS_SESSION_LOCK: MessageBox(hWnd, TEXT("WTS_SESSION_LOCK"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );break; case WTS_SESSION_UNLOCK: MessageBox(hWnd, TEXT("WTS_SESSION_UNLOCK"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );break;default:break; }break; 服务起来的时候,创建一线程,循环判断explorer.exe 进程是否存在了,然后执行下一步 lz想要做自己的登錄界面,也就是實現自己的GINA? 這樣哦,我想以下鏈接,就是你要的答案 ^_^ Good luckAns 1Ans 2 你的意思是用winsta0,用8L的办法可以实现 Server 2008似乎已经放弃了这种方式! 处理这个消息会比较好一点:WM_WTSSESSION_CHANGE 自己getmessage or peekMessage 补充一下,如果是用DELPHI的服务框架,DELPHI会创建默认的消息分配机制,原因是服务是从TApplication这个对象继承下去的。 哪里的资料说是继承自TApplication?????TService = class(TDataModule)TDataModule = class(TComponent) 字符搜索 Delphi 如何调用WebService 我要最详细的说明! 请教,如何/能否删除自已发的帖 求助~~ 请教 求救,在同个DBGRID内显示SELECT不同条件下的数据显示 实际课题碰到的问题。有兴趣的请进来计论好吗? 请教各位朋友!请问放大镜是怎么做的呢? 给你100分(OLE) 单号的自然生成??? 在深圳金正科技工作的请进 贴图方法进行软件界面设计的疑问?
switch( wParam )
{
case WTS_CONSOLE_CONNECT:
MessageBox(hWnd, TEXT("WTS_CONSOLE_CONNECT"),
TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
break;
case WTS_CONSOLE_DISCONNECT:
MessageBox(hWnd, TEXT("WTS_CONSOLE_DISCONNECT"),
TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
break;
case WTS_SESSION_LOCK:
MessageBox(hWnd, TEXT("WTS_SESSION_LOCK"),
TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
break;
case WTS_SESSION_UNLOCK:
MessageBox(hWnd, TEXT("WTS_SESSION_UNLOCK"),
TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
break;
default:
break;
}
break;
Ans 2
哪里的资料说是继承自TApplication?????
TService = class(TDataModule)
TDataModule = class(TComponent)