首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

ShellExecute()打开本地htm有关问题

2013-01-23 
ShellExecute()打开本地htm问题我想在窗体程序中,点击一个item用浏览器打开一个本地的index.htm文件。看了S

ShellExecute()打开本地htm问题
我想在窗体程序中,点击一个item用浏览器打开一个本地的index.htm文件。
看了ShellExecute方法,但是点击了却没有反应。我把ipFile换成一个网址,浏览器就能正确打开。且index.htm在正确的地方。
该引用的头文件和lib都已经连接了。
部分源代码如下:请大牛指点指点,本人不胜感谢!


private: System::Void readMeStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
 String^ readmefile = Directory::GetCurrentDirectory() + "//index.htm";
 ShellExecute(NULL, NULL, (LPCTSTR)(void*)Marshal::StringToHGlobalAnsi(readmefile), NULL, NULL, SW_SHOWNORMAL);
 //ShellExecute((HWND)(this->Handle.ToInt32()), NULL,_T("http://www.csdn.net"), NULL,NULL, SW_SHOWNORMAL);
 }

[解决办法]
HINSTANCE ShellExecute(
  _In_opt_  HWND hwnd, 窗口句柄,没有的话传0
  _In_opt_  LPCTSTR lpOperation, 传 "open"
  _In_      LPCTSTR lpFile, 文件名
  _In_opt_  LPCTSTR lpParameters, 可以忽略
  _In_opt_  LPCTSTR lpDirectory, 可以忽略
  _In_      INT nShowCmd SW_SHOW
);

[解决办法]
Marshal::StringToHGlobalAuto

热点排行