VS下运行和直接双击exe运行结果不同的解决方法
2012-10-14 11:25
2056 查看
先简要说一下问题背景:
1. 有一个第三方dll控件,假设该dll名为ShowMessage,该dll通过回调定期输出字符串格式的消息
2. 官方提供的dll示例程序是一个winform(C#)工程,同时提供了生成好的ShowMessage.exe文件
3. 直接运行该ShowMessage.exe,执行结果正常
4. 如果重新编译工程,无论是直接运行新生成ShowMessage.exe还是通过VS调试来运行,有时能收到dll的回调消息(即回调函数会被调用到),有时收不到
5. 我的开发环境有两台机器,一台是win7 32位,一台是win7 64位,工程都生成x86程序
6. 有时通过VS运行没有问题,但是直接双击生成的exe会有问题
7. 有时exe在64位下不行,在32位下可以
8. 如果将framework版本改一下,然后再改回来,就不行了
其实,哪怕源代码一样,在不同的环境或不同的时间段,结果都不同,没有使用多线程。
最后,发现解决方法如下:
方法一:运行exe时,右键以管理员身份运行
方法二:在工程的安全性设置中,选中“这是完全可信的应用程序”
1. 有一个第三方dll控件,假设该dll名为ShowMessage,该dll通过回调定期输出字符串格式的消息
2. 官方提供的dll示例程序是一个winform(C#)工程,同时提供了生成好的ShowMessage.exe文件
3. 直接运行该ShowMessage.exe,执行结果正常
4. 如果重新编译工程,无论是直接运行新生成ShowMessage.exe还是通过VS调试来运行,有时能收到dll的回调消息(即回调函数会被调用到),有时收不到
5. 我的开发环境有两台机器,一台是win7 32位,一台是win7 64位,工程都生成x86程序
6. 有时通过VS运行没有问题,但是直接双击生成的exe会有问题
7. 有时exe在64位下不行,在32位下可以
8. 如果将framework版本改一下,然后再改回来,就不行了
其实,哪怕源代码一样,在不同的环境或不同的时间段,结果都不同,没有使用多线程。
最后,发现解决方法如下:
方法一:运行exe时,右键以管理员身份运行
方法二:在工程的安全性设置中,选中“这是完全可信的应用程序”
相关文章推荐
- 解决Win7装了JDK却不能直接双击运行.jar文件的方法
- 运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- 双击运行Debug下的.exe文件,一闪而过的解决方法
- 在WIN10系统下运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- 解决Win7装了JDK却不能直接双击运行.jar文件的方法
- VS 2005 调试过程中不定期出现 ”试图运行项目时出错:无法启动调试。拒绝调试”的对话框的解决方法
- Vista 下先安装 VS 再装 IIS 7 运行出现 500.19 Error 的解决方法
- windows 10下让jar文件双击可以运行的解决方法
- 直接用编译器按ctrl+F5运行和双击运行结果不一样
- 生成exe文件,使C++程序脱离VS环境运行的方法
- Ubuntu 16.04 LTS直接双击安装deb包失败的解决方法
- VS HelpLibAgent.exe已停止工作 解决方法
- 直接双击启动tomcat中的startup.bat闪退原因及解决方法
- Vista中所有的.exe可执行程序都无法运行的解决方法
- VS 2005 编译的程序不能运行的几个解决方法
- vs2015在Debug模式下运行出现"应用程序无法正常启动(0x000007b)"的错误解决方法
- 为什么一个程序在vs2005中,按F5运行,和直接运行exe文件结果不一样
- VS2010生成exe在别的机子上运行提示“丢失MSVCR100D.dll”的解决方法
- vs2012-vs2013编译出来的程序不能在xp上运行解决方法
- VS2013 c++/c编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法