visual c 6.0 编写串口程序release版本在非vc电脑上无法运行的解决方法
来源:互联网 发布:网络控制器驱动程序 编辑:程序博客网 时间:2024/04/30 06:43
近日给编写了一个串口与单片机的程序,却发现生成的release版本exe文件在没有安装vc的电脑上无法正常运行,点击没有任何反应。
然后,用vc自带的库连接检查工具depends.exe检查,没有任何进展。
在网上查阅有人认为是因为程序引用了ActiveX插件,要进行插件注册,于是在一台没有安装vc的电脑上的电脑->运行 中输入
RegSvr32 H:\MSCOMM32.OCX 进行串口插件的注册(mscomm32.ocx在安装vc的电脑的c:\windows\system32路径下能找到)
这样再打开程序,就可以正常运行,确认了是Active X 插件问题。
但是应用程序每运用到一个新的电脑上就要运行一便插件注册是很不方便的,于是,便想在程序里自动注册插件。在网上看到这样一段程序
LPCTSTR pszDllName="MSCOMM32.OCX";
//装载ActiveX控件
HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
MessageBox("不能载入Dll文件!","结果",MB_OK);
return 0;
}
//获取注册函数DllRegisterServer地址
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress (hLib,_T("DllRegisterServer"));
//调用注册函数DllRegisterServer
if(lpDllEntryPoint!=NULL)
{
if(FAILED((*lpDllEntryPoint)()))
{
MessageBox("调用DllRegisterServer失败!","结果",MB_OK);
FreeLibrary(hLib);
return 0;
};
MessageBox("注册成功","结果",MB_OK);
}
else
MessageBox("调用DllRegisterServer失败!","结果",MB_OK);
以上程序无法进行动态的地址搜索功能,仅仅需要在程序开始处进行简单的修改,如下
CString strPath;
TCHAR szCurrentDir[MAX_PATH];
::GetCurrentDirectory(MAX_PATH, szCurrentDir);
strPath.Format(_T( "%s"), szCurrentDir);
CString strapp=strPath+"\\MSCOMM32.OCX";
MessageBox(strapp);
LongPathToQuote ( svPath , TRUE );
AddFolderIcon ( "" , " Comm" , svPath , "" , "" , 0 , "" , REPLACE );
- visual c 6.0 编写串口程序release版本在非vc电脑上无法运行的解决方法
- visual c 6.0 编写串口程序release版本在非vc电脑上无法运行的解决方法
- 让VC编译的Release版本程序在其他机器上顺利运行
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行(转)
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- visual studio编写的exe程序不能在没装vs的电脑上运行
- visual studio编写的exe程序不能在没装vs的电脑上运行
- 用VS2010编写的C++程序,在其他电脑上无法运行的问题
- VS2010编写exe程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- VS2010编写exe程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 关于VC编译的程序在其他电脑上无法运行的解决办法
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法 vc链接静态库的时候要注意的问题
- 使 VC2013 编写的程序运行在其它电脑上
- 使 VC2013 编写的程序运行在其它电脑上
- 用VC++6.0写的程序怎么在没有安装VC的电脑上运行?
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- java应用程序利用Exe4j打包exe文件
- IOS之Objective-C学习笔记(一)
- 2012.6.8委托的理解和其本用法
- 如何在coreldRAW中快速将图片圆角化?
- 破解入门(四)-----实战"单步跟踪法"脱壳
- visual c 6.0 编写串口程序release版本在非vc电脑上无法运行的解决方法
- 重装系统后ORACLE数据库恢复的方法
- 博客,提高班学生成长的秘籍-“写东西就是用文字整理你的生命”
- 导入Android项目后Eclipse报错
- 如何处理好人际关系,思想是第一的。
- Linux LVM管理
- 20岁需要了解的事情
- ZOJ3068 POJ2976 Dropping tests,二分检索
- fedora 源 163更新