注册后自动关闭并重启程序
2008-06-25 10:45
197 查看
最开始增加注册功能的时候,都是弹出提示窗口,让用户自己关闭程序,然后再重启。结果有人说提示窗口说“注册完成,请重新启动软件”的意思就是证明已经注册成功了。但是重启之后可能没有注册成功。遇到这种情况我简直无语。我在提示中只说明,注册动作完成了,至于注册码是否是有效的,必须通过重启软件查看才知道。另外还有人说,最好能注册完后自动关闭并重启。典型一个懒人,我真想踹他一脚。可是后来我发现,国外的人还真就有很多这种懒人。如果一步能够完成的事情,他绝对无法忍受你规定他二步做。哪怕多看一眼手头的工作,似乎都是对他的侮辱。报着“客户是上帝的”(我都从来没有享受过这种待遇)指导原则,我搜集了一些资料,最后用如下代码实现了程序的自关闭和重启。
void OnRestart() { HMODULE module = GetModuleHandle(0); CHAR buf[MAX_PATH]; GetModuleFileName(module, buf, sizeof buf); CloseHandle(HANDLE(4)); /** 重启代码 */ ShellExecute(NULL, NULL, buf, NULL, NULL, SW_SHOWNORMAL); /** 自关闭汇编代码 */ __asm { lea eax, buf push 0 push 0 push eax push ExitProcess push module push DeleteFile push UnmapViewOfFile ret } } 因为我的这个软件做了单一运行的限制。而从上面代码可以看出可能有个隐患:如果软件启动在关闭完成之前, 则可能启动失败。不过我在实际测试过程中没有出现该问题。毕竟功能问题可以先解决,后面的异常问题等反映 强烈后再处理吧。嘿嘿!
相关文章推荐
- c#程序不弹出timeout异常手动关闭,自动重启
- c# 软件自动升级 程序自我关闭自己后重启
- 如何使程序在运行时自动注册ActiveX控件
- Qt 中程序自动重启
- 实现程序自动重启
- STS SPRING TOOL SUITE 自动关闭 重启进度 三分之一打不开
- (转载整理)程序安装流程及如何实现文件在系统后自动重启(windows)
- 如何使程序在运行时自动注册ActiveX控件
- 将程序设置为服务,在系统登录界面自动启动(解决:不间断运行的程序遇到电脑重启,且电脑登录需要账号和密码)
- C#WinForm程序异常退出的捕获、继续执行与自动重启
- Python实现tomcat自动启动,关闭,重启
- 让windows系统自动关闭停止响应的程序
- IIS自动停止,iis自动关闭。应用程序池假死、自动重启以及iis权限等解决办法
- vs2010 C++控制台程序编译以后快速自动关闭
- 让Java程序自动重启的实现方法(推荐)
- 22.让系统自动关闭停止响应的程序:
- 自动运行和关闭jar程序的sh脚本
- 如何在Android程序Force Closed后自动重启
- 自动关闭QQ迷你首页的小程序(加上自己的一些理解)
- linux下监视进程,若进程关闭则自动重启