c语言 控制台程序 拖动文件到窗口 怎么获取文件路径

我的程序想实现拖动一个文件到窗口,把显示出来的字符串当作文件。比如拖动e盘下的a.txt得到的字符串是““E:\a.txt””但是C语言认识的貌似应该是“E:\\a.tx... 我的程序想实现 拖动一个文件到窗口,把显示出来的字符串当作文件。比如 拖动e盘下的a.txt 得到的字符串是““ E:\a.txt”” 但是C语言认识的貌似应该是“E:\\a.txt” 求转化方法。 展开
 我来答
匿名用户
2011-04-20
展开全部
你再到程序里点MSN,则已经启动的MSN窗口会显示出来,这个是怎么做到的。
--------------------------------------------------------------------------------
答:Mutex
--------------------------------------------------------------------------------
答:我是说如果有MSN的进程存在,则把现有的窗口显示出来,这个是怎么做的。
--------------------------------------------------------------------------------
答:很多办法,用mutex也可以实现。比如两个mutex就可以解决了,不过需要多一个线程来处理。程序将mutex1锁住,等待mutex2,程序再运行发现mutex1已经锁住,则释放mutex2,原来运行的程序mutex2受信,则调出主窗口,然后继续等待再次受信。
--------------------------------------------------------------------------------
答:查找是否有msn的Mutex,如果有,再查找msn的进程,然后,**它,这个也可以吧
--------------------------------------------------------------------------------
答:Semaphore也行
--------------------------------------------------------------------------------
答:FindWindow然后ShowWindow啊
--------------------------------------------------------------------------------
答:toxharry(charry):如何**?人家楼主问是这个。toicr_mio(Logos):这种方法不好,因为可能有重名窗口,除非可以通过HWND或者PID,但我不知道能不能实现。
--------------------------------------------------------------------------------
答:不好意思,打错了:“除非可以通过HWND获得PID”
--------------------------------------------------------------------------------
答:HANDLEhMutex=CreateMutex(NULL,TRUE,str);//str--mutexnameif(hMutex==NULL¦¦GetLastError()==ERROR_ALREADY_EXISTS)
--------------------------------------------------------------------------------
答:楼上正解
--------------------------------------------------------------------------------
答:MSN不是用互斥量的MSN是基于COM的,只要类厂维持一个msn对象就可以了。
--------------------------------------------------------------------------------
答:如果该程序是始终有窗口的,我们可以通过查找它的窗口的句柄,**它用FindWindow如果它缩小到了Tray上了,我们可定义一个消息,程序收到该消息就显示窗口
--------------------------------------------------------------------------------
答:楼主的意思好像是针对进程只开一个问题,你自己程序写一下不就可以啦,跟具体MSN里面内核没关系。
--------------------------------------------------------------------------------
答:检查进程用FindWindow
--------------------------------------------------------------------------------
答:这是BCB的,懂这意思就可以void__fastcallTYZClient::FormCreate(TObject*Sender)Application->ShowMainForm=false;Application->Terminate();return;}elseCreateMutex(NULL,false,Application->Title.c_str());......}
另外,团IDC网上有许多产品团购,便宜有口碑
ch314156
2011-04-19 · TA获得超过4377个赞
知道小有建树答主
回答量:2036
采纳率:100%
帮助的人:1066万
展开全部
就是 E:\a.txt 呀, 是你弄错了吧
更多追问追答
追问
C语言里面路径都得是双斜杠的啊
第一个表示转义
追答
栓斜杠 是你在C里面写个字符串的时候   其他情况不需要
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式