我用C#写的一个读取 .dat 的A.exe窗体程序 ,我想双击1.dat文件就用A.exe打开,已经实现,但我想双击2.dat的时候,用同一个A.exe打开,如何实现?就是进程是唯一的。就像editplus打开文件一样 。
1.说明调用的api函数,(注意A.exe的标题会变的)
2.如果A.exe没有激活 激活A.exe的api
C# 唯一进程如何控制 (高手进)
答案:2 悬赏:80 手机版
解决时间 2021-01-24 09:28
- 提问者网友:我一贱你就笑
- 2021-01-24 01:04
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-01-24 01:37
这个....其实不难.
进程控制加自定义消息.
Process[] pList = Process.GetProcessesByName("A");
if (pList.Length > 0)
{
pList[0].MainWindowHandle
//已经有A.exe启动了
//使用API发送自定义消息
//SendMessage(pList[0].MainWindowHandle,WM_NEWSHELL,路径字符指针,0) //把要打开的文件路径传给A.exe 查考发送WM_SETTEXT
//在A.exe中添加对WM_NEWSHELL消息的处理.
}
//其中WM_NEWSHELL是个自定义的消息.
问题2:
好象使用ShowWindow可以实现激活.
不明白可以baidu下如何自定义消息.相关的API不会用也baidu下
进程控制加自定义消息.
Process[] pList = Process.GetProcessesByName("A");
if (pList.Length > 0)
{
pList[0].MainWindowHandle
//已经有A.exe启动了
//使用API发送自定义消息
//SendMessage(pList[0].MainWindowHandle,WM_NEWSHELL,路径字符指针,0) //把要打开的文件路径传给A.exe 查考发送WM_SETTEXT
//在A.exe中添加对WM_NEWSHELL消息的处理.
}
//其中WM_NEWSHELL是个自定义的消息.
问题2:
好象使用ShowWindow可以实现激活.
不明白可以baidu下如何自定义消息.相关的API不会用也baidu下
全部回答
- 1楼网友:行路难
- 2021-01-24 02:10
这其实就是数据结构中的稀疏矩阵,墙就是矩阵里面的数字,空的为0,1为强。用二维数组存储地图信息。比如你从文件流里读出图,把是墙的地方赋值为1,空的地方为0。
然后就是递归找出口,跟数据结构书里面写的一样。
如果递归结果返回true就能走出去,返回为false就走不出去。记住每一次执行走格都要标记是已经走过的,可以把1换成2或者别的数字,这样递归才有结束的条件。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯