开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1874|回复: 8
收起左侧

[精币悬赏] 文件关联 会重复运行主程序延伸出来的一些问题

[复制链接]
结帖率:0% (0/1)
发表于 2018-7-31 05:39:51 | 显示全部楼层 |阅读模式   云南省曲靖市
20精币

简明扼要的问:(大神们都喜欢看的问法)
文件关联以后,每双击一个被关联的文件格式,都会重复的唤醒一个主程序
怎样才能不重复唤醒主程序,就在第一次被唤醒的主程序里去对往后双击的文件进行处理
例如,安装了酷狗播放器,可以通过一次双击多个MP3文件,酷狗就连续的播放这些歌曲,并不是反复启动酷狗。

我需要的是一个例子....一个浅显易懂的例子。看完这里愿意回答的就可以直接回答,不用往下看了




叨逼叨式的问:(无聊,当小说看的问法)

这两天学习文件关联的时候遇到一个问题
当我为某种后缀的文件进行关联了程序
这样以来  主程序未运行的情况下,双击这种被关联的程序,可以唤醒主程序,主程序通过取命令行,可以对这个文件进行一些处理。
网上所有的教程都是一次性唤醒,没更深层次的探讨,事实上,新手不仅需要能唤醒能操作,二次处理被关联格式文件也是有必要的。


我关联的MP3文件,双击MP3文件的时候,程序自动启动并播放了这个MP3
我再次双击别的MP3 又唤醒一个主程序,

有自认为牛逼闪闪的大手,不看完问题直接就说,你他妈是不是傻逼,你直接禁止程序重复运行不就可以了?????

??????.....????????
打扰了....


随便调用一个模块的禁止程序重复运行,那这个第二次被双击的关联文件,就没法处理了。
因为根据我掌握到的浅显知识 ,我能只能在在程序启动的一瞬间取命令行。

我在学易语言之前,加了很多的易语言周边的交流学习群。于是我问了几个群

有两个人回答我,说是   命名管道   C/S    发送消息    SendMessage     或者写到内存。  我试了试研究了一天,老是奔溃,做不出来

再去问能不能给个简单的例子的时候就被怼回来了

说让我自己多看源码,多用模块,兴趣是最好的老师,不要老是想让别人给你例子,等等一通训话,整的我特别突兀....


但是我希望学习能够尽可能高效一些,因为我懂得不是很多,网上也找不到例子,为了这个问题已经投入了两天时间。

如果有一天,你问了别人一个问题:为什么鞭炮扔到下水道,可能会引发爆炸?   


你本来可以告诉他,因为下水道全是脏东西,长期缺乏空气对流,这些东西会发酵,下面包产生一定浓度的沼气(一氧化碳)   可燃气体之类的成分,所以遇到火星,引发了爆炸。

可你桀骜不驯的告诉他兴趣是最好的老师,你不应该停留在问,而应该停留在去寻找答案的路上,多去读书,多去研究
你这个问题太小儿科了,你缺少基础知识,你应该去把这个问题涉及到的所有因素都搞懂,这样你才能发现问题的本质等等等...bbbbbbbbbbbbbbbbbbbbb....

好有道理啊!!!!!!我真的无法反驳!!!结果我他妈去研究了一遍

这个下水道什么时候建成的
建成之前这里是什么
这个下水道都是什么人参与建设的
这一片区的空气,地理条件等
当时爆炸的鞭炮是在哪里买的
那个鞭炮是哪家产的
放鞭炮的时候还有谁在边上
鞭炮是什么成分做的
点燃鞭炮是以什么方式
是不是打火机落在了下水道引发了爆炸
会不会是恶作剧
这个炸下水道的人,会不会是神经病,他其实点燃的是炸药
会不会是仇家报复
诸如此类,我可能从任何一个点,去研究很久很久....
因为,你说的嘛。涉及到的东西,都要去了解,都要去学习,我懂得很少,我不知道这个问题核心的解答方向。

所以我需要的是一个例子....一个浅显易懂的例子。你也可以骂我是伸手党,老想要源码,不知道自己动手
抱歉,我这个问题就是给热心网友,愿意帮助别人解答问题的人
不是跟你探讨学习态度和往复做一个伸手党的利弊等等,我只是想快速知道怎样解决这个问题


仅此而已。求你们懂这个东西怎么解决,但又觉得我悬赏几个无用金币很鸡肋之类的的大神,不要回答不要骂我了。


顺带说一下,以我现在懂的知识我可以怎么解决这个问题

我可以写一个DLL  让DLL去做这种打开文件的操作
这样不管你怎么双击,主程序一被唤醒,第一时间取到命令行,就转到DLL去处理,这样主程序不重复运行。但我知道,这个问题的解决方式肯定不是这样的











结帖率:100% (5/5)
发表于 2018-7-31 06:58:12 | 显示全部楼层   广西壮族自治区南宁市
额,这个问题一般还真是禁止重复运行, 在程序运行前取命令行,然后判断程序有没有打开,有打开就把命令行数据传给已经打开的程序
如果关联程序后双击不是新打开一个关联的程序的话,至少我是不懂,可能要进入内核hook打开文件之类的东西吧
回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2018-7-31 07:45:54 | 显示全部楼层   云南省曲靖市
这就是用户名 发表于 2018-7-31 06:58
额,这个问题一般还真是禁止重复运行, 在程序运行前取命令行,然后判断程序有没有打开,有打开就把命令行数据 ...

我使用写到内存   然后把这个内存地址 发送消息整数给  主程序  主程序 再去读取 指针到文本  就奔溃了  大神能不能给个例子
回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2018-7-31 08:47:52 | 显示全部楼层   云南省曲靖市
我附上我写的关于发送消息给已经运行的主程序      错误例程  望大神指正!

窗口发送消息给已经启动的程序.zip

1.51 MB, 下载次数: 10, 下载积分: 精币 -1 枚

回复

使用道具 举报

结帖率:83% (15/18)
发表于 2018-7-31 09:08:44 | 显示全部楼层   广东省深圳市
start命令
回复

使用道具 举报

结帖率:92% (49/53)

签到天数: 15 天

发表于 2018-7-31 10:10:20 | 显示全部楼层   江西省上饶市
好长 啊 看完了 但是貌似就第一段有用
回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2018-7-31 10:39:32 | 显示全部楼层   云南省曲靖市
空竹 发表于 2018-7-31 10:10
好长 啊 看完了 但是貌似就第一段有用

哈哈哈哈哈哈哈哈哈!!!!我就说嘛!看完第一段就可以回答了!
回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2018-7-31 10:45:53 | 显示全部楼层   云南省曲靖市
自行解决,采用了 第一次双击被关联文件时候   自动运行主程序  直接取命令行 取操作被双击的已关联的文件路径  由子程序进行处理


第二次 第三次之后N次被双击的时候   将命令行写出到文本   然后发送消息给第一次运行的主程序  让主程序取读取这个已经写出文本的文件,得到之后双击的文件路径,主程序中的子程序去进行操作! 然后结束掉被重复运行的主程序        

方法是笨了一点,但是有用,容易驾驭,不奔溃!
回复

使用道具 举报

结帖率:94% (133/141)
发表于 2018-11-19 16:30:32 | 显示全部楼层   山东省青岛市
我倒是有个例子,可以取双击打开的程序。如果您愿意学习的话我倒是可以吧源码给你。毕竟我也刚入手打开一个都还没尝试成功,我并没有瞒天过海的习惯,所以我还没研究。理论上可以加个判断尝试下是否可以多次获取。
如果你是想要现成的源码的话就不要回复我了,不想给你写。
也许等个十年二十年的可能有人给你写,但是按照我的速度。如果我有这个需求也许用这个例子加上热心网友也许用不了几个月就解决了。

瞒天过海可不是好习惯,双击一个文件打开都不会就想着多个了。如果你坚持这样的话也许在等十年还是这个水平,因为你不肯动脑。只知道发牢骚,别人不肯帮你

补充内容 (2018-11-19 16:31):
是获取双击打开程序的那个文件的位置,那个源码是个类。我想加个判断啥的可以试试。

补充内容 (2018-11-19 16:31):
是获取双击打开程序的那个文件的位置,那个源码是个类。我想加个判断啥的可以试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表