大家好.. 小弟日前遇到一個問題
當我們使用windows, 在檔案圖示利用滑鼠左鍵點兩下, 會根據相對應的應用程式開啟該檔案..執行的過程和在圖示上按下滑鼠右鍵, 選擇出現功能表中開啟的功能相同..
目前這部分已經沒有問題了..登錄檔的機碼修改後已經可以正常運作..
之前自己完成一個mp3播放程式, 就把連結寫到自己的應用程式
若自己完成的程式(底下簡稱myprog)尚未開啟前, 點選開啟檔案, 則會開啟myprog, 將該檔案路徑加入播放選單中, 並且播放歌曲..
若myprog已經開啟, 則會將該歌曲路徑加入選單, 不播放歌曲, 並且關閉應用程式
簡單敘述一下, 當myprog執行時, 利用 findwindow api來檢查是否已經有開啟..
若沒有, 則利用command來取得檔案路徑, 將其加入選單, 並且播放
若已經開啟,則利用sendmessage傳送訊息給已經開啟的myprog, 將傳送的路徑放入剪貼簿(clipboard)中, 並關閉自己. 而已經開啟的myprog的視窗程序(window procedure)中則加入相對應處理機制取出剪貼簿中的路徑..並加入選單
這部分的功能在開啟單一檔案的時候沒有問題..
為什麼一直強調單一呢?? 當然就是多個檔案時會出問題
測試的過程中發現兩個問題
1. 當myprog尚未開啟時, 若選取多個檔案, 利用滑鼠右鍵開啟功能開啟, 會有同時開啟多個myprog的情形發生. 比方說選擇A和B兩首歌, 則開啟兩個myprog, 並且一個播放A, 一個播放B
2. 當myprog已經開啟, 若選取多個檔案開啟, 則會有路徑傳輸不完整. 比方說選取5個檔案, 但卻只有傳過去2個
以上等等問題..現在.. 頭有點大
雖然知道利用剪貼簿的方法myprog同時執行時會將資料覆蓋, 可能是造成資料不完整的主因, 但卻無奈目前沒有方案可以替代..不知有哪位大俠肯拉小弟一把, 給點意見互相討論討論.....
謝過先
當我們使用windows, 在檔案圖示利用滑鼠左鍵點兩下, 會根據相對應的應用程式開啟該檔案..執行的過程和在圖示上按下滑鼠右鍵, 選擇出現功能表中開啟的功能相同..
目前這部分已經沒有問題了..登錄檔的機碼修改後已經可以正常運作..
之前自己完成一個mp3播放程式, 就把連結寫到自己的應用程式
若自己完成的程式(底下簡稱myprog)尚未開啟前, 點選開啟檔案, 則會開啟myprog, 將該檔案路徑加入播放選單中, 並且播放歌曲..
若myprog已經開啟, 則會將該歌曲路徑加入選單, 不播放歌曲, 並且關閉應用程式
簡單敘述一下, 當myprog執行時, 利用 findwindow api來檢查是否已經有開啟..
若沒有, 則利用command來取得檔案路徑, 將其加入選單, 並且播放
若已經開啟,則利用sendmessage傳送訊息給已經開啟的myprog, 將傳送的路徑放入剪貼簿(clipboard)中, 並關閉自己. 而已經開啟的myprog的視窗程序(window procedure)中則加入相對應處理機制取出剪貼簿中的路徑..並加入選單
這部分的功能在開啟單一檔案的時候沒有問題..
為什麼一直強調單一呢?? 當然就是多個檔案時會出問題
測試的過程中發現兩個問題
1. 當myprog尚未開啟時, 若選取多個檔案, 利用滑鼠右鍵開啟功能開啟, 會有同時開啟多個myprog的情形發生. 比方說選擇A和B兩首歌, 則開啟兩個myprog, 並且一個播放A, 一個播放B
2. 當myprog已經開啟, 若選取多個檔案開啟, 則會有路徑傳輸不完整. 比方說選取5個檔案, 但卻只有傳過去2個
以上等等問題..現在.. 頭有點大
雖然知道利用剪貼簿的方法myprog同時執行時會將資料覆蓋, 可能是造成資料不完整的主因, 但卻無奈目前沒有方案可以替代..不知有哪位大俠肯拉小弟一把, 給點意見互相討論討論.....
謝過先
文章標籤
全站熱搜
