1. 打包程序做成安装文件应该可以(不过一直没有找到好的作安装程序的软件,传说Delphi自带的不错可是光盘上的无法安装,你们怎么做的 ?) 2. win 2000 下锁定 Ctrl + Alt + Del ... , Study 3. {锁定win键} function LowLevelKeyboardProc(nCode:integer;WParam:WPARAM;LParam:LPARAM):LRESULT;stdcall; type KBDLLHOOKSTRUCT=record vkCode:DWORD; scanCode:DWORD; flags:DWORD; time:DWord; dwExtraInfo:dword; end; var fFlag:BOOL; p:^KBDLLHOOKSTRUCT; begin result:=0; fFlag := false; p:=Pointer(LPARAM); if (ncode=HC_ACTION) then begin case wparam of WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, WM_SYSKEYUP: fFlag :=(p.vkCode = VK_Lwin) or (p.vkCode = VK_Rwin)or (p.vkCode = VK_apps); end; end; if fFlag = true then Result:=1; if ncode <> 0 then Result := CallNextHookEX(0,ncode,wparam,lparam); end;// 调用 const WH_KEYBOARD_LL=13; setwindowshookexw(WH_KEYBOARD_LL,LowlevelKeyboardproc,hinstance,0);
1.如果没有使用数据库和第三方控件的,你的程序可以直接在对方的机器上运行,不用打包 2。WINK/XP下很困难,我也不会,98下可以这样: 当你不需要让用户按Alt+Enter、Ctrl+Alt+Del、Ctrl+Esc等功能键的时候加入以下代码: Var temp:integer; begin SystemParametersInfo(Spi_screensaverrunning,1,@temp,0); end; 当你要恢复功能键时用以下代码: Var Temp:integer; begin SystemParametersInfo(spi_screensaverrunning,0,@temp,0); end;
2. win 2000 下锁定 Ctrl + Alt + Del ... , Study 3.
{锁定win键}
function LowLevelKeyboardProc(nCode:integer;WParam:WPARAM;LParam:LPARAM):LRESULT;stdcall;
type
KBDLLHOOKSTRUCT=record
vkCode:DWORD;
scanCode:DWORD;
flags:DWORD;
time:DWord;
dwExtraInfo:dword;
end;
var
fFlag:BOOL;
p:^KBDLLHOOKSTRUCT;
begin
result:=0;
fFlag := false;
p:=Pointer(LPARAM);
if (ncode=HC_ACTION) then
begin
case wparam of
WM_KEYDOWN,
WM_SYSKEYDOWN,
WM_KEYUP,
WM_SYSKEYUP:
fFlag :=(p.vkCode = VK_Lwin) or (p.vkCode = VK_Rwin)or (p.vkCode = VK_apps);
end;
end;
if fFlag = true then
Result:=1;
if ncode <> 0 then
Result := CallNextHookEX(0,ncode,wparam,lparam);
end;// 调用
const
WH_KEYBOARD_LL=13; setwindowshookexw(WH_KEYBOARD_LL,LowlevelKeyboardproc,hinstance,0);
2。WINK/XP下很困难,我也不会,98下可以这样:
当你不需要让用户按Alt+Enter、Ctrl+Alt+Del、Ctrl+Esc等功能键的时候加入以下代码:
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);
end;
当你要恢复功能键时用以下代码:
Var
Temp:integer;
begin
SystemParametersInfo(spi_screensaverrunning,0,@temp,0);
end;