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

:全屏窗口-屏蔽系统热键等

2012-02-27 
在线等:全屏窗口-屏蔽系统热键等全屏窗口已经坐到,但是系统热键会把他切换到其他程序要求不能切换到其他程

在线等:全屏窗口-屏蔽系统热键等
全屏窗口已经坐到,但是系统热键会把他切换到其他程序
要求不能切换到其他程序,只要开机,就是这一个程序,直到使用结束关机!
就像网吧里的某些管理软件,就像屏保,没特殊操作不能退出!
希望能有比较成熟的代码,谢谢!


[解决办法]
看看这个
http://blog.csdn.net/vsun/articles/619385.aspx
[解决办法]
http://www.codeproject.com/system/Desktop_Switcher.asp
[解决办法]
var
sa : TSecurityAttributes;
hd : HDESK;

si : TStartupInfo;
pi : TProcessInformation;

begin
//新建一个桌面
ZeroMemory(@sa,SizeOf(TSecurityAttributes));
sa.nLength := SizeOf(TSecurityAttributes);
sa.lpSecurityDescriptor := nil;
sa.bInheritHandle := true;

hd := CreateDesktop( 'My DeskTop ',
nil,
nil,
0,
MAXIMUM_ALLOWED,
@sa);

if hd=0 then
Exit;

//切换到桌面
SwitchDesktop(hd);
try
ZeroMemory(@si,Sizeof(TStartupInfo));
si.cb := SizeOf(TStartupInfo);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow:= SW_SHOW;
si.lpDesktop := Pchar( 'My DeskTop ');

//在新桌面运行指定程序,并等待结束
CreateProcess( 'E:\Demo\project1.exe ',nil,nil,nil,true,
CREATE_DEFAULT_ERROR_MODE+CREATE_SEPARATE_WOW_VDM,nil,nil,si,pi);
WaitForSingleObject(pi.hProcess,INFINITE);
TerminateProcess(pi.hProcess,0);
finally
//切换回默认桌面
SwitchDesktop(0);
CloseDesktop(hd);
end;
end;

[解决办法]
project1.exe中实现“全屏”

///////////////////////////////////

procedure TForm1.FormCreate(Sender: TObject);
begin
Self.Width := Screen.Width;
self.Height := Screen.Height;
Self.Left := 0;
Self.Top := 0;
Self.BorderStyle := bsNone;
end;

[解决办法]
procedure TForm1.FormCreate(Sender: TObject);
begin
Self.Width := Screen.Width;
self.Height := Screen.Height;
Self.Left := 0;
Self.Top := 0;
Self.BorderStyle := bsNone;
end;
还要在project1.exe中把系统的消息拦截了,键盘,鼠标,啥都不能放过,
哈哈....

热点排行