
在数据库中获取文件路径,一般使用ADO或者ODBC的方式,这个没有具体情况没法细说。
点击按钮打开文件,在按钮响应函数中,使用ShellExecute函数完成即可(还有WinExec和CreateProcess等也可以)
ShellExecute(NULL,"open","获取到的文件绝对路径名",NULL,NULL,SW_SHOWNORMAL);TCHAR exeFullPath[MAX_PATH]; // MAX_PATH
GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块名称,全路径
也就是当前运行程序的全路径
GetModuleFileName函数原型
DWORD GetModuleFileName(
HMODULE hModule, // handle to module。将要得到的模块的句柄。如果是当前模块,NULL
LPTSTR lpFilename, // path buffer 得到的文件名。
DWORD nSize // size of buffer 一般MAX_PATH就可以了
);
BOOL PathRemoveFileSpec( LPTSTR pszPath);
功能:删除路径后面的文件名和’/’符号。该函数可以分析出一个文件的路径。
例:char szpath[257]="c://window//atxt";
调用PathRemoveFileSpec( szpath ) 后,szPath = “c://windows”
需要头文件:shlwapih
这个不是昨天问过了吗?
1、Mat testImage = imread(这是string类型的文件地址);
2、CFileDialog,返回的是CString类型的地址
GetPathName返回的是CString,imread要的是opencv的String(关于这点真得吐槽,c++没有统一的string,包括std:string都没有主导权,太可恶了),你得先把CString转成char再创建成opencv的String
samismiling (回答者) 3小时前
你自己搜索一下“opencv imread Cstring到string”有大量代码可借鉴,我就不给你贴了
1
CString GetCurPath()
{
TCHAR exeFullPath[MAX_PATH];
CString strPath;
GetModuleFileName(AfxGetInstanceHandle(),exeFullPath,MAX_PATH);
strPathFormat("%s", exeFullPath);
if(strPathRight(1)!="\\") strPath += "\\";
return strPath;
}
2CreateDirectory(全路径字符串, NULL);
3
short CleanTmpFiles(CString strImagePath)
{
int nFiles=0;
CFileFind finder;
char tempFileFind[200];
sprintf(tempFileFind, "%s\\jpg", m_strImagePath);
BOOL IsFinded = (BOOL)finderFindFile(tempFileFind);
while(IsFinded)
{
IsFinded = (BOOL)finderFindNextFile();
if(!finderIsDots())
{
char foundFileName[200];
strcpy(foundFileName, finderGetFileName()GetBuffer(200));
if(!finderIsDirectory())
{
char tempFileName[200];
sprintf(tempFileName,"%s%s", strImagePath, foundFileName);
DeleteFile(tempFileName);
nFiles++;
}
}
}
finderClose();
return nFiles;
}
用EnumFontFamiliesEx函数就可以了,示例如下:
LOGFONT lf;ZeroMemory(&lf,sizeof(LOGFONT));
lflfCharSet = DEFAULT_CHARSET;
_tcscpy(lflfFaceName,TEXT(""));
EnumFontFamiliesEx(pDC->GetSafeHdc(),&lf,(FONTENUMPROC)EnumFontFamiliesProc,(LPARAM)this,0);BOOL CALLBACK CFontCombo::EnumFontFamiliesProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lParam)
{
if(!(nFontType & RASTER_FONTTYPE))
{
// if (lpelf->elfLogFontlfCharSet == ANSI_CHARSET || lpelf->elfLogFontlfCharSet == GB2312_CHARSET)
{
CFontCombo pCombo = (CFontCombo )lParam;
//过滤以@开头的字体,过滤已经添加的字体。
if(lpelf->elfFullName[0] != TEXT('@') && pCombo->FindStringExact(0,(LPCTSTR)lpelf->elfFullName) == LB_ERR)
{
int index = ((CFontCombo )lParam)->AddString((LPCTSTR)lpelf->elfFullName);
LPLOGFONT lpLF = new LOGFONT;
CopyMemory(lpLF,lpelf,sizeof(LOGFONT));
((CFontCombo )lParam)->SetItemData(index,(DWORD)lpLF);
}
}
}
return TRUE;
}
以上就是关于MFC得到数据库中文件绝对路径,然后点击按钮在电脑上打开此文件,这个怎么实现啊全部的内容,包括:MFC得到数据库中文件绝对路径,然后点击按钮在电脑上打开此文件,这个怎么实现啊、MFC中如何获取当前exe(双反斜线)的绝对路径、VC MFC 知道文件的绝对路径求文件夹的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)