+ -
当前位置:首页 → 问答吧 → ShellExecute打开文件后,如何不显示路径

ShellExecute打开文件后,如何不显示路径

时间:2011-12-04

来源:互联网

代码如下:
  CString strPath;
::GetModuleFileName( NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH );
strPath.ReleaseBuffer();
  strPath = strPath.Left(strPath.ReverseFind(_T('\\')));
// AfxMessageBox(strPath);
ShellExecute(NULL,"open", strPath + "\\直径120mm第一道次椭圆型孔型图.dwg",NULL,NULL,SW_SHOWNORMAL);

  打开的AutoCAD制图文件后,文件标题是“D:\test\debug\直径120mm第一道次椭圆型孔型图.dwg”。

  请问如何编码才能不显示这个路径呢?即文件标题是“直径120mm第一道次椭圆型孔型图.dwg”,或者是什么都没有!
   
  请教了。。。

作者: yuanfang4123   发布时间: 2011-12-04

up,求高人指教啦~

作者: yuanfang4123   发布时间: 2011-12-04

HWND hWnd = ::FindWindow(NULL, _T("xxxx"));
if(hWnd)
{
TCHAR buf[] = _T("Hello");
::SendMessage(hWnd, WM_SETTEXT, 0, (LPARAM)buf);
}

作者: VisualEleven   发布时间: 2011-12-04

这个方法似乎可行

作者: jiangwuhua   发布时间: 2011-12-04

不好意思,我不太明白您写的这段代码该怎么用,能再讲详细点吗?非常感谢。
刚才我试了下面的,没效果。
HWND hWnd = ::FindWindow(NULL, _T(strPath + "\\直径120mm第一道次椭圆型孔型图.dwg"));
if(hWnd)
{
TCHAR buf[] = _T("Hello");
::SendMessage(hWnd, WM_SETTEXT, 0, (LPARAM)buf);


引用 2 楼 visualeleven 的回复:
HWND hWnd = ::FindWindow(NULL, _T("xxxx"));
if(hWnd)
{
TCHAR buf[] = _T("Hello");
::SendMessage(hWnd, WM_SETTEXT, 0, (LPARAM)buf);
}

作者: yuanfang4123   发布时间: 2011-12-04

这里面有个问题,CAD显示文件名,是它自己的事,不显示不太可能,Hook它的标题的办法似乎不通用,当然,一般来说可行。

不过ShellExecute参数里面,有个路径,路径设置文件所在的路径,然后文件名就单纯的文件名就可以了,不包括路径,这时候,看看CAD是显示文件名还是路径名。

作者: php2673490864   发布时间: 2011-12-04

2楼正解

作者: danxiaodeshitou   发布时间: 2011-12-04

热门下载

更多