Java论坛网»Java技术»程序启动后获取输入参数的问题(顶有分)

程序启动后获取输入参数的问题(顶有分)

问?:
拿UltraEdit举个例子.
鼠标同时选中2个txt文件,点击右键,通过右键菜单上的UltraEdit-32菜单项打开UltraEdit.UltraEdit运行后会自动打开选中的这2个txt文件.

我的程序现在需要实现类似的功能,但是现在遇到一些问题.UltraEdit运行后是怎么找到选中的那2个txt文件的?是在点击右键菜单项启动程序时通过命令行参数传入的(例如:uedit32.exe "1.txt","2.txt")?还是在程序运行后通过某些方法得到的?

我的主程序是用java编写的,我本身不是做Windows编程的,现在需要在windows平台上实现类似功能,这方面我不太熟悉,我查看了注册表中右键菜单相关的项,基本都是:"xxx.exe" "%1"

我写了个简单java测试程序,用jb打成exe后在注册表里添加了右键相关项.选中2个文件后用右键菜单项打开,这个程序被执行了2次,每次传入的参数是2个文件其中1个的路径.和我需要的结果并不一样.

请问有没有人做过类似功能的程序,或者熟悉 java 桌面应用和 windows 编程,能否提供一个解决方案或思路.
答!: 1:
因为你的程序定义是打一次打开一个,
其实你可以在起动你的程序的时候去查找看是不是你的程序已经运行了,如果已经运行了,那么后面的程序就和你已经运行的程序共一个窗口,也就是在一个主窗口中包含若干个小窗口
还有,做这个用JAVA确实不太容易
你的确勇气可嘉
答!: 2:
应该是一个一个打开,你可以把参数放到数组里然后循环依次打开
答!: 3:
心有余,力不足,帮顶
答!: 4:
楼主的那5颗星不是唬人的吧?这个简单的问题都不会呀,真是~~
答!: 5:
用java写windows程序?
答!: 6:
不是吧?用java写windows程序?
答!: 7:
挺好的。
答!: 8:
保存你点中的文件路径和名称就可以了
答!: 9:
不会但是帮你顶
答!: 10:
再帮你顶顶
答!: 11:
看来在csdn上混的都是吃白饭的呀,这个问题都没人知道,郁闷。
答!: 12:
再帮你顶一顶
答!: 13:
在右键选择了用java的jar或是exe文件打开以后,传给jar或是exe文件的参数应该是包含选中文件的完整路径,例如 d:\mydoc\1.txt 所以只要在main函数里面获得String[]参数以后,直接使用应该就行了,不过如果遇到路径里面带有空格的,会自动分解为两个参数。
我没有做过右键打开文件的java程序,但是原来做过让某一个扩展名的文件双击以后使用java文件打开的程序,在这个程序里面就是获得的被双击文件的完整路径,所以我觉得右键打开文件应该和这个差不多

至于执行2次的问题,和你的程序关系不大,多半是注册表的问题,调用了2次你的程序,检查一下
答!: 14:
再帮你顶顶
答!: 15:
cuij7718:

我选中2个文件,然后把它拖放到我的程序图标上,用这种方式运行程序,的确可以得到2个参数路径.但是使用右键却不可以.

让某一个扩展名的文件双击以后使用java文件打开的程序在注册表里的配置项和使用右键都是xxx.exe %1

如果选中文件是一个,程序里面获得的就是这个文件的完整路径,如果选中文件是2个,就出现了遇到的情况,程序被执行了2次。

头疼啊,我对注册表不熟,不知道有没有什么参数配置可以直接实现我的需求。

对了,我发现在右键的发送菜单项(Send To)里添加我的程序的快捷方式,然后选中2个文件,使用发送菜单项里的快捷方式打开程序是可以取到2个文件路径的,但是我查了注册表里的Send To,发现只是一串键值,不知道是怎么实现的。有兴趣的朋友可以试试。
答!: 16:
lbfhappy:
答!: 17:
这个需求挺好玩的,学习
答!: 18:
再帮你顶一下
答!: 19:
帮你顶
答!: 20:
继续顶
答!: 21:
楼主 我知道

我刚写了一个C远提交系统,也用到这个 就是.exe参数问题
可以使用 重定向到一个文件夹
(如果a.exe需要两个参数(m,n),那么在1.txt里写入m,n
然后用批处理调用
a.exe>1.txt
就OK了
还不清楚 可以加我QQ:26267004
答!: 22:
绝对没问题哦

我的C语言提交系统 就是这样。当时我也不知道应该怎么办,后来无意在一本DOS命令书本上
发现了这个输入重定向命令 <

相信楼主知道 >或>> 是输出重定向 而 < 则是输入重定向
答!: 23:
iori97king(难道我是猪~):

按我的理解,你是把参数写到txt文件里,再从这个文件里去读.
问题是我怎么获得参数呢?如果我能够获得参数,那为什么还需要先把它们写到txt文件里,直接拼个命令行 a.exe "参数1","参数2" 就可以了.

:)
答!: 24:
我误解了楼主的意思 真不好意思
我再想想...

相关JAVA教程:
到底用不用portal
菜鸟问题:
高分求助!写了个Schema 书上改过来 但老是出错 validate通不过
Spring中怎么配置Velocity
请问大家我需要买一本或者下载一本什么样的书(有这方面开发经验的朋友给我意见啊)
对象转化成xml
对象转化成xml
初次接触hibernate有些问题不解,急!
学习Java设计模式,大家看了哪些书?怎么学习最快?
再次求求大家了,hibernate问题
问个SWT的问题,希望大家帮忙解决!
各位大大,如何判断客户离开了我的网站...比较棘手