怎么禁止在WIN下修改时间??? 找进销存软件说明书
procedure wmtimechang(var msg:tmessage):...
2楼: 如果你是想防止操作员 通过双击托盘的时间修改时间或者在控制面板里面修改时间,可以直接把 WINNT/system32/ timedate.cpl 这个删除即可 ! 但是如果你想禁止程序修改系统时间 , 个人觉得不怎么现实 如进销存软件说明书
3楼: XF.Lian::
但是在CMD下还是可以DATE啊,
4楼: 有没有方法像冰点还原一样的禁止修改系统时间!
5楼: 麻子麻子~还是麻子~~麻子那里可以找到代码
liumazi.ys168.com
看了以下代码相信你就会了~吼吼~
[code]
uses Windows, Messages;
var HookHandle: HHOOK;
// 钩子回调
function GetMsgProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
if (PMsg(lParam).message = WM_TIMER) then PMsg(lParam).message := 0;
Result := CallNextHookEx(HookHandle, nCode, Wparam, lParam);
end;
// 挂钩
procedure HookOn;
begin
HookHandle := SetWindowsHookEx(WH_GETMESSAGE, @GetMsgProc, HInstance, 0);
end;
// 脱钩
procedure HookOff;
begin
UnHookWindowsHookEx(HookHandle);
end;
//导出函数
exports HookOn,HookOff;
begin
end.
[/code]
6楼: 还是能修改啊。
function GetMsgProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
if (PMsg(lParam).message = WM_TIMER) then PMsg(lParam).message := 0;
Result := CallNextHookEx(HookHandle, nCode, Wparam, lParam);
end;
function GetMsgProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
if (PMsg(lParam).message = WM_TIMECHANGE) then PMsg(lParam).message := 0;
Result := CallNextHookEx(HookHandle, nCode, Wparam, lParam);
end;
也是可以修改时间??
请指教!!!
财务软件版7楼: 试着hook一下ZWSetSystemTime试一试。
8楼: fxh7622:
那是不是HOOKA API??
9楼: 这到是~
可以在Explorer.exe中挂钩API钩子
设置时间的函数,SetLocalTime,SetSystemTime挂钩了就OK了
MadCodeHook用一下就OK了
下载主页:www.madshi.net