世界之窗论坛's Archiver

westone 发表于 2008-6-20 18:53

[已解决,感谢81635631]请教高手:如何让插件按钮兼具打开和关闭的功能

把一个自己常用的EXE做成了TW的插件,但是这个小程序只在后台运行,没有界面和托盘图标。
本来一直开着也没有什么,但最近和另一个程序有点冲突,经常需要关闭。
但每次关闭都需要到Windows任务管理器中结束进程,有点麻烦。

向高手请教:如何能让TW中的插件按钮兼具打开和关闭的功能?
也就是点击一次:打开。
再点击一次:关闭。

在此先谢谢了。

[[i] 本帖最后由 westone 于 2008-6-21 16:33 编辑 [/i]]

kli 发表于 2008-6-20 19:45

写个BAT,单独做个插件

内容是:

taskkill /im 进程名 /f


不过我在想应该可以有个BAT运行第一次是启动进程,第2次检查进程存在就结束进程,不过我的水平实在是不入门,只能提点偏门主意

81635631 发表于 2008-6-20 20:15

if exitst sign

del sign

echo .>sign

:lol:

kli 发表于 2008-6-20 22:15

楼上的写明白点呀,大家一起来学习学习

谢谢

81635631 发表于 2008-6-21 00:36

不好意思,


[code]
@echo off
IF EXIST sign (
del sign
taskkill /im cmd.exe
) ELSE (
echo .>sign
ipconfig /all
pause
)
[/code]

这样子明白了吗 :lol:

81635631 发表于 2008-6-21 00:37

在cmd里输入 if /?
会有一大片的帮助 很有用的 :lol:

kli 发表于 2008-6-21 02:08

@echo off
IF EXIST Q-DIR.exe (
taskkill /im Q-DIR.exe
) ELSE (
echo start Q-DIR.exe
pause
)

ELSE后面该怎么写啊?? 只能结束进程不能开始进程,IF /?我也看了,按照上面的格式弄了半天还是不会。。。

himmel 发表于 2008-6-21 02:13

taskkill是虾米咩?

kli 发表于 2008-6-21 02:16

饿也不知道,CMD命令是那么教的

himmel 发表于 2008-6-21 02:30

在cmd窗口中输入了taskkill,结果返回的是错误命令,看到很多人都这样写,不知道多少人真正用过

81635631 发表于 2008-6-21 04:28

[quote]原帖由 [i]himmel[/i] 于 2008-6-21 02:30 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=579868&ptid=61149][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
在cmd窗口中输入了taskkill,结果返回的是错误命令,看到很多人都这样写,不知道多少人真正用过 [/quote]

没有taskkill那是你系统问题.
"看到很多人都这样写,不知道多少人真正用过"看到很多人用,不认为是自己出了问题,反而认为...:cold:

81635631 发表于 2008-6-21 04:29

@echo off
IF EXIST sign (
del sign
taskkill /im 你要运行的文件.exe
) ELSE (
echo .>sign
你要运行的文件名.exe
pause
)

kli 发表于 2008-6-21 05:35

终于看明白拉,原来是建立一个SIGN文件来做检查,一直以为是检查进程名字。。

有个小问题,程序运行后,CMD没有自动关闭,去掉PAUSE也不行。

该怎么解决啊?

himmel 发表于 2008-6-21 07:07

[quote]原帖由 [i]81635631[/i] 于 2008-6-21 04:28 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=579884&ptid=61149][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]


没有taskkill那是你系统问题.
"看到很多人都这样写,不知道多少人真正用过"看到很多人用,不认为是自己出了问题,反而认为...:cold: [/quote]
原版Windows XP系统打了SP2补丁,也会有问题咩? 我只是想知道,这taskkill到底是内部命令还是外部命令,那么多人都这样写,从没有人真正说清楚这个命令的来由,每次看得我都一头雾水

81635631 发表于 2008-6-21 12:02

[quote]原帖由 [i]kli[/i] 于 2008-6-21 05:35 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=579887&ptid=61149][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
终于看明白拉,原来是建立一个SIGN文件来做检查,一直以为是检查进程名字。。

有个小问题,程序运行后,CMD没有自动关闭,去掉PAUSE也不行。

该怎么解决啊? [/quote]


@echo off
IF EXIST sign (
del sign
taskkill /im 你要运行的文件.exe
) ELSE (
echo .>sign
start 你要运行的文件名.exe
)
这样子就可以了~

81635631 发表于 2008-6-21 12:04

taskkill
tasklist
是外部命令.这两文件xp中

westone 发表于 2008-6-21 16:30

问题解决了,高兴。

谢谢楼上诸位,尤其是哈哈兄不厌其烦的热情相助。
刚才又就一些细节PM哈哈兄请教,比如:在我这里使用时,bat里一定要写程序路径,否则单独执行bat成功,但加到TW按钮,点击执行就提示找不到程序。

[code]@echo off
IF EXIST sign (
del sign
taskkill /im "D:\Program Files\你要运行的文件名.exe"
) ELSE (
echo .>sign
start "D:\Program Files\你要运行的文件名.exe"
)[/code]

如上这样就可以了。
当然这都是哈哈兄指点的结果,留在这里,今后对有同样问题的兄弟也许会有用。

再次感谢哈哈兄和大家。

kli 发表于 2008-6-21 18:24

谢谢,一起学习了,虽然现在用不到,但是至少学了几个CMD命令的用法:lol:

sky5 发表于 2008-6-21 18:55

回复 17# westone 的帖子

不想写路径可以把执行的程序文件放到windows目录下

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.