求救 如何给一个EXE程序多次传递参数(200)

  • 主题发起人 主题发起人 xlo_o
  • 开始时间 开始时间
X

xlo_o

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己实现了桌面的右键菜单,但是找了很多例子都是在菜单中通过 xxx.exe %1 的形式传递参数,这样不是会多次运行程序么?请大家给个思路,该怎么解决这样的问题。自己能想到的解决方法有两种:1、通过向应用程序窗口发送消息。2、将程序编写为不能多次运行的程序,再通过xxx.exe %1的方式传参数(未经实验,只是猜测)清大家给个思路。最后我描述一下需要实现的功能。通过右键选择资源管理器里的文件或者文件夹,发送参数到我自己的应用程序,并记录下来。如:待发送文件。然后通过自己编写的程序,在后台慢慢发送。
 
补充 我的右键功能是通过 shell扩展实现的,一个dll
 
你可以自己设置全局变量,进行处理全局变量可以考虑使用内存映射文件来实现
 
你的意思是我定时监控映像文件的变化是么?还是有其他获取映像文件变化的好方法?我对映像文件这块不是很熟。希望能够详细说说实现方式。
 
还有没有更好的办法啊。
 
运行exe在后台隐蔽,把当前的dll设置为内存映射文件,exe主程序每2秒取内存映射文件共享区域标志,有则取数据解释右键功能,共享区域最好设置为这样的数据结构:TypeShareMem=Record _Do:Boolean; _Para:String[168];End;MyShare:Array [1..16] Of ShareMem;循环放置在1..16个ShareMem中,_Do标志成立,取_Para参数,然后_Do:=False;执行(解释)_Para里面的参数,呵呵!
 
谢谢,Mike1234567890和wql的思路。这个功能我搞定了。不过没有用你们提供的方法,因为我可能需要批量设置很多文件,所以还是使用了数据库。用shell的扩展直接写库,然后发message给应用程序,通知更新。分数你们两个平分各一百,别嫌少啊。嘿嘿。再次感谢。
 
后退
顶部