CString GetCurrentDir(void)
{
TCHAR sDrive[_MAX_DRIVE];
TCHAR sDir[_MAX_DIR];
TCHAR sFilename[_MAX_FNAME];
TCHAR Filename[_MAX_FNAME];
TCHAR sExt[_MAX_EXT];
GetModuleFileName(AfxGetInstanceHandle(),Filename,_MAX_PATH);
_tsplitpath(Filename,sDrive,sDir,sFilename,sExt);
CString HomeDir(CString(sDrive)+CString(sDir));
if (HomeDir.GetAt(HomeDir.GetLength()-1)!=_T('\\'))
HomeDir+=_T('\\');
return HomeDir;
}
char path[256];
sprintf(path, "%splaylist1.txt", GetCurrentDir());
result = AddWindowEx(iCom, iAddress, iSchedule, 0, 0, 128, 32, path);
if (!result)
AfxMessageBox("设置播放数据playlist1.txt失败");
我怎么调用AddWindowEx 这个方法
主要是 sprintf(path, "%splaylist1.txt", GetCurrentDir()); 这一句是干嘛的 百度了一圈也没看到答案 有没有c++大神 帮忙看看
黄舟2017-04-17 13:56:23
sprintf 可以用 C# 的 string.Format()
代替,如果用 C#6 可以直接寫模板字串 $""
,GetCurrentDir 應該可以用 Environment.CurrentDirectory
代替。
var path = string.Format("{0}playlist1.txt", GetCurrentDir());
path = $"{GetCurrentDir()playlist1.txt}";
AddWindowEx 是個自訂函數嗎?
黄舟2017-04-17 13:56:23
using System.Runtime.InteropServices;
[DLLImport("xxx.dll")]
public static extern 返回值 方法名(参数);
然後直接呼叫方法即可