如何在一个用户登陆程序里,只有当密码输入正确后才可以打开另一个EXE程序,而被开启的程序不能通过双击鼠标运行, 如何在一个用户登陆程序里,只有当密码输入正确后才可以打开另一个EXE程序,而被开启的程序不能通过双击鼠标运行, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 密码输入前,监视,如果exe文件启动,则关闭它。密码输入后,撤销监视,winexec启动exe程序, 不用,目标EXE程序启动时检查是不是有传参数,参数个数,位置,内容对不对,不对的话就拒绝启动。要输入密码的那个程序,如果密码验证通过,则通过特殊的方式传给程序足够多,正确的参数。以启动程序。目标程序启动后再检查要输入密码的那个程序在不在,如果在运行,则关闭他,如果不在运行,拒绝启动。。 传参数是个办法,如一些网络游戏的做法.但是这样有个问题,别人用API SPY之类的工具可以拦截你传递的参数,还是不安全. 这个exe是你开发的还是启动外部的如果是你开发的那就好办,把它做成.dll。通过密码验证后调用该.dll就可以了 我想最好办法是,登录程序在密码输入正确后,创建一个Handle,而另一个Exe在启动时,只有发现这Handle被创建了才启动,否则拒绝,该exe启动时再创建一个Mutex的互斥量,以防止Handle被创建了,exe可以被双击,这样有了互斥量,该exe将不能被手工执行。ok了 传递参数是个简单的办法。而且没有必要担心传递的时候被拦截。我们可以把密码的判断写在第2个程序中。比如: user := paramstr(1); pwd := paramstr(2); 然后去判断。 但当 if paramcount < 3 then ShowMessage('该程序不能直接调用。XXXX'); 但是,我实在想不到为什么你要把这些掰成两半来写。 我想在生成预览的时候,如果页面上记录条数不够20行的时候,打印空行 delphi下调用c写的dll老是出错 数据驱动问题? 狂晕啊,这是为什么? 怎样枚举窗体中的所有label控件? 学DOTNET的,来JAVA找志同道合的人~!~~!~顺便拜拜门~ delphi 里怎么不能使用 shellexecute()这个API函数?总是说没有定义? 各位大哥,怎样以随机的方式抽取一个记录集呢?小妹在线等待!!~~~~ ASP.NET怎么样去调用ADO.NET。提示错误如下! 寻找心目中一个理想的软件! 如何在鼠标所指的一个窗体边框上绘制一个矩形? 登录时区分大小写的问题!
密码输入后,撤销监视,winexec启动exe程序,
但是这样有个问题,别人用API SPY之类的工具可以拦截你传递的参数,还是不安全.
如果是你开发的那就好办,把它做成.dll。通过密码验证后调用该.dll就可以了
ok了
我们可以把密码的判断写在第2个程序中。
比如:
user := paramstr(1);
pwd := paramstr(2);
然后去判断。
但当
if paramcount < 3 then
ShowMessage('该程序不能直接调用。XXXX');
但是,我实在想不到为什么你要把这些掰成两半来写。