精易论坛

标题: C#求助帖,模拟文件夹中的所有文件复制(拖拽)到某个窗口 [打印本页]

作者: jianwei923    时间: 2020-12-17 22:39
标题: C#求助帖,模拟文件夹中的所有文件复制(拖拽)到某个窗口
求助:
模拟制定文件夹中的所有文件复制(拖拽)到某个窗口,或者理解为移动到某个窗口然后实现发送定时发送的功能。
现在大致的思路是取出文件夹中所有的文件,然后移动到指定窗口句柄。
问题来了,如何代码实现。

作者: v刀刃    时间: 2020-12-17 22:39
jianwei923 发表于 2020-12-17 23:43
我不想用易语言写,想用C#写···这样·兄弟帮忙下载下论坛的C#开源框架,我这下不动。下好发我邮箱。ht ...

源码已发
作者: v刀刃    时间: 2020-12-17 22:53
你是想做文件监控?
作者: jianwei923    时间: 2020-12-17 22:54
v刀刃 发表于 2020-12-17 22:53
你是想做文件监控?

不是·是定时发送文件
作者: v刀刃    时间: 2020-12-17 22:57
jianwei923 发表于 2020-12-17 22:54
不是·是定时发送文件

直接用task.run做个定时。或者用Quartz定时任务框架就可以了呀。
作者: jianwei923    时间: 2020-12-17 23:05
v刀刃 发表于 2020-12-17 22:57
直接用task.run做个定时。或者用Quartz定时任务框架就可以了呀。

定时不是问题,问题是复制文件这个地方,到底是模拟鼠标拖拽。还是复制文件到窗口句柄。
作者: v刀刃    时间: 2020-12-17 23:09
jianwei923 发表于 2020-12-17 23:05
定时不是问题,问题是复制文件这个地方,到底是模拟鼠标拖拽。还是复制文件到窗口句柄。 ...

我的思路是,如果你想从A程序目录发送到B程序目录,根本不需要窗口句柄。只要知道B程序目录所在路径就可以了,直接拷贝到B程序目录。然后在B程序上面定时获取这个目录中的文件就可以了。不知道我有没有理解对你的想法。
作者: v刀刃    时间: 2020-12-17 23:13
jianwei923 发表于 2020-12-17 23:05
定时不是问题,问题是复制文件这个地方,到底是模拟鼠标拖拽。还是复制文件到窗口句柄。 ...

还有就是建立一个通道,易语言上面有这个例子,可以收发文件。C#调用相应api就可以了。
作者: jianwei923    时间: 2020-12-17 23:18
v刀刃 发表于 2020-12-17 23:09
我的思路是,如果你想从A程序目录发送到B程序目录,根本不需要窗口句柄。只要知道B程序目录所在路径就可 ...

比如说TX的QQ·我需要定时给QQ某个好友发送我指定的文件,如果要按照你的思路那就是说的这个A程序和B程序都必须基于我自己开发的才能走下去,你这显然不显示,另外即便是我上述条件都满足·那根本都不需要A复制到B了·直接把路径给A就完事了,明显没那么简单。
作者: v刀刃    时间: 2020-12-17 23:32
jianwei923 发表于 2020-12-17 23:18
比如说TX的QQ·我需要定时给QQ某个好友发送我指定的文件,如果要按照你的思路那就是说的这个A程序和B程序 ...

如果两个程序都是自己的,就建立系统的通信通道就可以收发文件了。如果不是,看看窗口能否黏贴文件,如QQ窗口就能。这种的就直接置剪切板就可以了[但是这种操作同一时间只能操作一个文件或文件夹]。如果这种操作也不行,那就像你说的,直接模拟人工操作[这个调用dm就可以]。
作者: jianwei923    时间: 2020-12-17 23:42
v刀刃 发表于 2020-12-17 23:32
如果两个程序都是自己的,就建立系统的通信通道就可以收发文件了。如果不是,看看窗口能否黏贴文件,如QQ ...

对头·这才回到问题的本质上来了,如果可以粘贴的就好弄,如果不能粘贴··就麻烦了也就是我开头所提到的问题了。
作者: jianwei923    时间: 2020-12-17 23:43
v刀刃 发表于 2020-12-17 23:32
如果两个程序都是自己的,就建立系统的通信通道就可以收发文件了。如果不是,看看窗口能否黏贴文件,如QQ ...

我不想用易语言写,想用C#写···这样·兄弟帮忙下载下论坛的C#开源框架,我这下不动。下好发我邮箱[email protected]https://125.confly.eu.org/forum.php?mod ... &extra=page%3D1
作者: v刀刃    时间: 2020-12-17 23:46
jianwei923 发表于 2020-12-17 23:43
我不想用易语言写,想用C#写···这样·兄弟帮忙下载下论坛的C#开源框架,我这下不动。下好发我邮箱。ht ...

我说的就是C#的。易语言建立通信通道是调用了winapi,C#也调用那个winapi就可以了。C#也可以调用dm。
作者: jianwei923    时间: 2020-12-17 23:49
v刀刃 发表于 2020-12-17 23:46
我说的就是C#的。易语言建立通信通道是调用了winapi,C#也调用那个winapi就可以了。C#也可以调用dm。 ...

我没试过用C#调大漠的模块,现在我就想先拿他框架的现有的函数试下··我这边在码云下载动都不动一下·不知道怎么回事·你那边看下能下载不。
作者: v刀刃    时间: 2020-12-17 23:51
jianwei923 发表于 2020-12-17 23:49
我没试过用C#调大漠的模块,现在我就想先拿他框架的现有的函数试下··我这边在码云下载动都不动一下·不 ...

已经发给你了。调用dm,就是C#调用dll那样。因为dm的dll是com组件。只是需要zc一下就可以了。
作者: jianwei923    时间: 2020-12-18 00:01
v刀刃 发表于 2020-12-17 23:51
已经发给你了。调用dm,就是C#调用dll那样。因为dm的dll是com组件。只是需要zc一下就可以了。 ...

收到,谢谢。没试过用C#调易语言的·赶着用··懒得折腾了。这个C#的精益框架应该够用了
作者: v刀刃    时间: 2020-12-18 00:06
jianwei923 发表于 2020-12-17 23:42
对头·这才回到问题的本质上来了,如果可以粘贴的就好弄,如果不能粘贴··就麻烦了也就是我开头所提到的 ...

我平时用的最多的也就是dm来模拟,因为复制黏贴每次只能操作一个相同的文件或文件夹。dm可以绑定不同窗口分开操作。
作者: jianwei923    时间: 2020-12-18 00:31
v刀刃 发表于 2020-12-18 00:06
我平时用的最多的也就是dm来模拟,因为复制黏贴每次只能操作一个相同的文件或文件夹。dm可以绑定不同窗口 ...

这个没事··船到桥头自然直!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4