WinExec程序选择界面,打开VC++程序的有关问题

WinExec程序选择界面,打开VC++程序的问题
如题,我做了一个程序选择界面,选择某一程序之后,打开改程序窗口,代码如下
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()
------其他解决方案--------------------
引用:
Data Source=餐饮.accdb这里改成绝对路径试试。
这样可以了,可是我想让程序是可以移动的,可以再别的电脑上使用,数据库连接就得用相对路径,你有什么好办法吗??谢谢
------其他解决方案--------------------
引用:
试下GetModuleFileName()
我用了这个
	   char pBuf[MAX_PATH]; //存放路径的变量	   
   GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录    
   strcat(pBuf,"//");    
   strcat(pBuf,"canyin");
   strcat(pBuf,".exe");  
   WinExec(pBuf, SW_SHOW);
文件前面要加#include“string.h”以使用strcat函数。问题解决,谢谢.