当前位置: 代码迷 >> VC >> ShellExecute()打开本地htm有关问题
  详细解决方案

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

热度:7569   发布时间:2013-02-25 00:00:00.0
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