WinExec程序选择界面,打开VC++程序的有关问题
WinExec程序选择界面,打开VC++程序的问题
如题,我做了一个程序选择界面,选择某一程序之后,打开改程序窗口,代码如下
------最佳解决方案--------------------
Data Source=餐饮.accdb这里改成绝对路径试试。
------其他解决方案--------------------
试下GetModuleFileName()
------其他解决方案--------------------
这样可以了,可是我想让程序是可以移动的,可以再别的电脑上使用,数据库连接就得用相对路径,你有什么好办法吗??谢谢
------其他解决方案--------------------
我用了这个
如题,我做了一个程序选择界面,选择某一程序之后,打开改程序窗口,代码如下
WinExec("F:\\餐饮\\123\\Release\\Canyin.exe", SW_SHOW);打开的exe在VC++程序Release文件夹中,数据库文件也拷贝到Release文件夹下。单独运行exe没问题,可以连接数据库并进行读写。但在程序选择界面选择时,提示数据库连接错误,这是怎么回事??附VC++程序ADO连接Access数据库代码
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();
::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pCon->ConnectionTimeout=3;
hr=m_pCon->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=餐饮.accdb","","",adModeUnknown);
}/////获得当前路径下的数据库
}
catch(_com_error e)
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
::MessageBox(NULL,temp,"提示信息",NULL);//////////////请注意:弹出的就是这个窗口!!//////////////////////////
return false;
}
------最佳解决方案--------------------
Data Source=餐饮.accdb这里改成绝对路径试试。
------其他解决方案--------------------
试下GetModuleFileName()
------其他解决方案--------------------
这样可以了,可是我想让程序是可以移动的,可以再别的电脑上使用,数据库连接就得用相对路径,你有什么好办法吗??谢谢
------其他解决方案--------------------
我用了这个
char pBuf[MAX_PATH]; //存放路径的变量文件前面要加#include“string.h”以使用strcat函数。问题解决,谢谢.
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"//");
strcat(pBuf,"canyin");
strcat(pBuf,".exe");
WinExec(pBuf, SW_SHOW);