我想在窗体程序中,点击一个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