想在程序开始运行时,自动弹出一个登陆对话框
我用VC做完了一个VC基于对话框的小程序,现在想在程序开始运行时,自动弹出一个登陆对话框,输入用户名和密码,确定后才能进入原来主对话框,应该怎么做呢?主对话框.cpp里面...
我用VC做完了一个VC基于对话框的小程序,现在想在程序开始运行时,自动弹出一个登陆对话框,输入用户名和密码,确定后才能进入原来主对话框,应该怎么做呢?
主对话框.cpp里面要怎么申明?
新建的登录对话框和主对话框怎么连接呢?
等等......
鄙人初学者,请大虾们讲的细一点哦!!!
谢谢谢谢谢谢谢谢谢谢谢谢!!! 展开
主对话框.cpp里面要怎么申明?
新建的登录对话框和主对话框怎么连接呢?
等等......
鄙人初学者,请大虾们讲的细一点哦!!!
谢谢谢谢谢谢谢谢谢谢谢谢!!! 展开
3个回答
展开全部
这个好象不行哦。没有什么办法能让某个程序在还没有登陆系统之前自动运行,不过在没有登陆系统之前是有几个程序可以运行的。你可以试下,在开机画面要求输入用户名和密码登陆的时候,按下win+u键盘,这时候会弹出辅助工具管理器,里面可以运行放大镜和屏幕键盘,对应的程序位于c:\windows\system32下的magnify.exe和osk.exe。
现在我的意思就是使用你想运行的程序来替换掉这两个程序的其中一个,我在xp的系统下测试过。写一个bat脚本,用于新建一个有管理员权限的用户(这个不难吧,就几个命令),写好以后然后用rar创建自解压程序(作用是把bat文件转化为exe文件)解压自动运行里面的批处理文件。然后改名为magnify.exe再替换掉system32目录下的放大镜程序magnify.exe。这时候我如果启动放大镜的话就相当与打开我写的批处理文件,在开机需要登陆的时候按下win+u然后启动放大镜,这时候因为程序已被我替换过了,所以打开不会有什么反映,但是实际上是执行了批处理脚本的。这时候我就可以很轻松的使用批处理命令里建立的用户来登陆系统了。
但是2003的系统我没有使用过这个,而且在有的系统里,因为有文件保护,使得改写不了系统的文件,替换了以后系统又自动替换过来了。
希望能对你有所帮助
现在我的意思就是使用你想运行的程序来替换掉这两个程序的其中一个,我在xp的系统下测试过。写一个bat脚本,用于新建一个有管理员权限的用户(这个不难吧,就几个命令),写好以后然后用rar创建自解压程序(作用是把bat文件转化为exe文件)解压自动运行里面的批处理文件。然后改名为magnify.exe再替换掉system32目录下的放大镜程序magnify.exe。这时候我如果启动放大镜的话就相当与打开我写的批处理文件,在开机需要登陆的时候按下win+u然后启动放大镜,这时候因为程序已被我替换过了,所以打开不会有什么反映,但是实际上是执行了批处理脚本的。这时候我就可以很轻松的使用批处理命令里建立的用户来登陆系统了。
但是2003的系统我没有使用过这个,而且在有的系统里,因为有文件保护,使得改写不了系统的文件,替换了以后系统又自动替换过来了。
希望能对你有所帮助
展开全部
新建一个对话框CLoginDlg
然后在CLoginDlg里设置一个BOOL变量,
登陆通过,则设置变量为true,否则设置为false;
然后在CApp类的InitInstance()函数里,找到
int nResponse = dlg.DoModal();
在这之前加入
CLoginDlg logDlg;
logDlg.DoModal();
if(判断登陆不成功){
return FALSE;
}
然后在CLoginDlg里设置一个BOOL变量,
登陆通过,则设置变量为true,否则设置为false;
然后在CApp类的InitInstance()函数里,找到
int nResponse = dlg.DoModal();
在这之前加入
CLoginDlg logDlg;
logDlg.DoModal();
if(判断登陆不成功){
return FALSE;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BOOL CMainDlg::OnInitDialog()
{
...
CNewDlg dlg;//你新创建的登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
}
{
...
CNewDlg dlg;//你新创建的登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询