运行程序的问题

sssxueren 2003-07-03 06:26:49
我怎样调用函数,打开缺省的浏览器,浏览我指定的网页?

譬如说 www.sina.com.cn

我记得有函数可以打开文件缺省关联程序的,就是
给一个 "aaa.bmp"参数,就可以打开acdsee这样的函数,

不记得名字了:(
...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WebDB 2003-07-03
  • 打赏
  • 举报
回复
加栽其他的应用程序?

三个SDK函数 winexec, shellexecute,createprocess可以使用。

WinExec最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数
值得说一下,比如泥用 SW_SHOWMAXMIZED方式去加栽一个无最大化按钮的 程序,呵呵
就是Neterm,calc等等,就不会出现正常的 窗体,但是已经被加到任务列表里了。

ShellExecute较 WinExex灵活一点,可以指定工作目录,下面的 Example就是直接
打开 c:\temp\1.txt,而不用加栽与 txt文件关联的应用程序,很多安装程序完成后
都会打开一个窗口,来显示Readme or Faq,偶猜就是这么作的啦.
ShellExecute(NULL,NULL,_T("1.txt"),NULL,_T("c:\\temp"),SW_SHOWMAXMIZED);

CreateProcess最复杂,一共有十个参数,不过大部分都可以用NULL代替,它可以
指定进程的安全属性,继承信息,类的优先级等等.来看个很简单的 Example:
STARTUPINFO stinfo; //启动窗口的信息
PROCESSINFO procinfo; //进程的信息
CreateProcess(NULL,_T("notepad.exe"),NULL,NULL.FALSE, NORMAL_PRIORITY_
CLASS,NULL,NULL, &stinfo,&procinfo);

kl520 2003-07-03
  • 打赏
  • 举报
回复
第一种方法:使用ShellExecute函数
HINSTANCE ShellExecute(
HWND hwnd, // 父窗口句柄
LPCTSTR lpOperation, // 操作类型
LPCTSTR lpFile, // 要打开的文件或者文件夹
LPCTSTR lpParameters, // 打开文件的参数
LPCTSTR lpDirectory, // 默认的目录
INT nShowCmd // 打开后的显示方式
);


部分参数具体说明如下:
lpOperation的取值范围为:
"open" // 打开一个可执行文件,或者是有关联的文档
"print" // 打印一个文档
"explore" // 打开一个目录


nShowCmd的取值范围:
SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同

例如:打开 http://www.sina.com.cn 这个站点如下:
ShellExecute(NULL, "open", "http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE );
此命令将以默认浏览器打开http://www.sina.com.cn,并将加开后的窗口最大化。

又例:
ShellExecute(NULL, "open", "IEXPLORE.exe http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE );
此命令将直接用IE打开一个sina的站点。不过将开一个新的窗口。

第二种方法: 用WinExec函数。

WinExec函数在第二章已经讲过了。例如打开sina的站点,可用:
"IEXPLORE.exe http://www.sina.com.cn",SW_MAXIMIZE);

这两种方法是最常用的方法。
jack_wq 2003-07-03
  • 打赏
  • 举报
回复
gz,studying
zhucde 2003-07-03
  • 打赏
  • 举报
回复
up
jvcit 2003-07-03
  • 打赏
  • 举报
回复
STUDY
USTCTony 2003-07-03
  • 打赏
  • 举报
回复
shellexcecute();//参数自己查msdn.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧