当前位置:主页>仓库管理软件> 列表

怎么禁止在WIN下修改时间??? 找进销存软件说明书

财务软件版1楼: 我用了截获WM_TIMECHANGE消息,但是还是可以修改时间!
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