要求只在win95中显示一个游戏菜单,别的程序通通不能调用,也不能激活开始
菜单。我记得见过一篇文章,大概是用SystemParametersInfo(),反正准能查到,就一口答应了。在
Win32API联机帮助里查到SPI_SETSCREENSAVEACTIVE参数,可怎么做都是不行.终于找到<电脑报>的这
篇文章,是上海的汪箴朋友的.原来要用SCREENSAVERRUNNING参数!要命的是,在帮助文件里没有!
设置: systemparametersinfo(spi_screensaverrunning,1,nil,0);
取消: systemparametersinfo(spi_screensaverrunning,0,nil,0);
这个程序的主要思路是:
1.使用SystemParametersInfo()的SPI_SETSCREENSAVEACTIVE参数,使程序不响应Win95。
2.用HideTray和ShowTray过程,隐藏任务条。
3.程序运行时,最大化窗口,无标题。
这是很久以前liangming先生的作品,希望对你有帮助。
隐藏和显示任务栏
procedure hideTaskbar;
var wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_HIDE); // This hides the taskbar
end;
procedure showTaskbar;
var wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_RESTORE); // This restores the taskbar
end;
你应该自己做一个假桌面和一个假任务栏。