因为做也个聊天程序。但是如果服务器端开了防火墙的话,就连接不上了。
所以想启动后先把防火墙功能关了,然后再让人连接。不知怎么用程序实现。人家QQ不知是怎么做到的,同样是开了XP自带的防火墙,但还是一样照聊不误,而且如果是公网也不用通过服务器中转。如果大家能做到这样的话那就不用管上面的方法了。(前提是不经过其它服务器中转啊)。
所以想启动后先把防火墙功能关了,然后再让人连接。不知怎么用程序实现。人家QQ不知是怎么做到的,同样是开了XP自带的防火墙,但还是一样照聊不误,而且如果是公网也不用通过服务器中转。如果大家能做到这样的话那就不用管上面的方法了。(前提是不经过其它服务器中转啊)。
解决方案 »
- 在edit框中如何限制只能输入正数
- 招聘DELPHI程序员
- 请问怎样在DELPHI编写的程序中关闭与打开ctrl+alt+del 也就是让人无法打开任务管理器
- 请高手指点,请问:怎么调用windowsAPI创一个位图,然后在这个位图中画图.
- TclientDataSet控件的某个字段datatype为ftDataSet,在程序中怎么取它的值?????高手救命啊
- 求 DevExpress.ExpressQuantumGrid.Suite 6.45及以上版本
- 生日散分!!!11:50结帐
- 谁有多余的QQ号码,我用300分交换。
- 问你们一个巨深巨难的问题。。。
- 可否以设置属性的方式使在dbgrid里地数据以密文形式显式?
- 如何将插入表的记录集在datagrid中显示出来?在线等!!解决立即结贴!!
- 请问谁有MP3刻录成CD的资料或源码!!!!
C:\WINDOWS\System32\alg.exe
这个文件。这时我按下ctrl+alt+del键,发现会多了一个进程
进程的资料如下:
映像名称:alg.exe
....
...
其实只要关闭这个进程就可以了。可是这个程没有窗口标题,本人技术不行,只会用findwindow 或enumwindows这些函数来找窗口句柄,不知哪位帮个忙,给个代码让我把这个进程关了。我现在的思路是运行我的程时关了它。关闭我的程序时就打开它。这样才不会映响人家的正常使用啊。
var
hSnapShot: THandle;
lppe : TProcessEntry32;
hProcess : Cardinal;
begin
hSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
lppe.dwSize := sizeof(lppe);
if Process32First(hSnapShot,lppe) then
begin
while Process32Next(hSnapShot,lppe) do
begin
if lppe.szExeFile = 'uedit32.exe' then
begin
//showmessage('ultraedit is running!');
//TerminateProcess(lppe.th32ProcessID,0);
hProcess := OpenProcess(PROCESS_ALL_ACCESS,True,lppe.th32ProcessID);
TerminateProcess(hProcess,0)
end;
end;
end;
CloseHandle(hSnapShot);
end;上面的程序用到了进程快照,你只需要把'uedit32.exe' 改为你程序名'alg.exe'就可以了
<2000下调试通过,不过XP不知道支持不支持>
启动程序相信你可以自己来加了,用shellexecute或者winexec都可以
但是测试过,这段代码只能关掉一般的用户名的进程。
但不能删除这个进程。alg.exe 在"windows 任务管理器"中显示用户名为local service
我想是不是与这个用户名有关系呢?
如果不行,只能修改自己进程的权限,程序和实现2000关机的代码相类似