我想限制IE打开的个数,哪位大哥帮个忙给个例子。

catac1 2003-10-20 09:21:38
我想限制IE的打开个数,也就是只打开一个IE如果有多个ie打开时都通过这个打开的IE来打开,也就是有任务管理器中不增加新的IE进程。
...全文
97 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
GodBirdFlying 2003-10-29
  • 打赏
  • 举报
回复
=::CreateToolhelp32Snapshot 表示他不属于你使用他的成员函数而属于全局类
catac1 2003-10-27
  • 打赏
  • 举报
回复
对不起我有一个很笨的问题,能告诉我,::CreateToolhelp32Snapshot这个前面的两个冒号是什么意思吗,不好意思。
catac 2003-10-27
  • 打赏
  • 举报
回复
这个我知道是继承呀,可是我看到在程序里是这样用的aaa=::CreateToolhelp32Snapshot那这个是什么意思呀,也是继承吗,是继承谁的呀。
GodBirdFlying 2003-10-27
  • 打赏
  • 举报
回复
class tree {
int height;
public:
tree(int initialHeight);
~tree();
void grow(int years);
...

};
tree::tree(int initialHeight){
height = initialHeight;
}
tree::~tree(){...}

看看这里的"::"
GodBirdFlying 2003-10-27
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2398/2398146.xml?temp=.808819
pzoon 2003-10-23
  • 打赏
  • 举报
回复
学习
catac1 2003-10-23
  • 打赏
  • 举报
回复
再来帮忙搞搞好吧
catac1 2003-10-22
  • 打赏
  • 举报
回复
是呀你也就了比较烦,要是这样用ShellExecute(Handle,"open","http://www.sina.com.cn","","",SW_SHOWDEFAULT)就可以了,他会在前一个IE中打开新的,问题是我是想能不能无论客户端打开多少个IE窗口,在任务管理器中只有一个iexplore.exe,这样能实现吗。
GodBirdFlying 2003-10-20
  • 打赏
  • 举报
回复
有两种方法,一是: 给IE加个外壳,一旦运行就创建一个互斥量,然后判断系统中互斥量是否存在来 判断IE是否已起动
二是: 搜索进程映射表. 看看是否有IE的进程.

方法一实现起来比较简单就是在自己的程序里调用IE并创建互斥量,然后将IE的快捷方式只想自己的程序即可.
方法二有点难度所以提供一下代码以便参考,
HANDLE SS;
PROCESSENTRY32 processinfo;
processinfo.dwSize=sizeof(processinfo);
SS=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(SS==NULL) return;
bool status=::Process32First(SS,&processinfo);
while(status)
{
String szExeFile=StrPas(processinfo.szExeFile);
if(szExeFile.Pos("EXCEL.EXE") )
{
ShowMessage("Excel已经运行!");
return;
}
status=::Process32Next(SS,&processinfo);
}
::CloseHandle(SS);

aliker 2003-10-20
  • 打赏
  • 举报
回复
建立一个监视进程
建立一个只有一个元素的队列,其元素类型为字符串。
进程运行时先关闭IE。
监视进程在进程运行期间一直枚举系统窗口名字(可建立一个枚举循环)。
当用户打开第一个IE时,枚举循环枚举系统窗口名字时,发现是IE窗口,因为是空队列,则把取得的窗口名字加入队列,这时队列中只有一个元素,即第一个打开的IE的窗口标题。
当用户再打开一个IE时,枚举循环找到这个IE窗口的标题。关闭标题为队列中字符串名的IE窗口,也既关闭前一个IE窗口。同时把这个标题字符串加入队列中。
也即每打开一个窗口,就把前一个IE窗口给关掉,同时保存新打开的IE的窗口标题。这样就保证了系统只有一个IE在运行。
这种方法比较烦,
MEFULEU 2003-10-20
  • 打赏
  • 举报
回复
学习
potlee 2003-10-20
  • 打赏
  • 举报
回复
学习
yjy1001 2003-10-20
  • 打赏
  • 举报
回复
楼上 方法一在打开ie后,通过ie的链接点启动ie 就行不通了

方法二 还可行

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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