這問題很多人曾經問過(當然也有一部分是閃吧的成員),所以,筆者打算寫個教程,希望能為大家排憂解難.
工作原理:
在mx或以上版本裡,可以通過fscommand呼叫乙個應用程式,但是,由於安全性的問題,fscommand的exec命令中,呼叫的應用程式不可以帶有命令列引數,對於命令列引數,可能有些人不是很了解.下面給大家解釋一下命令列引數的問題. 在flash3~5裡,我們可以通過如下辦法用greenmpc.exe程式開啟乙個檔案a.rm
fscommand("exec","greenmpc.exe a.rm")
其中,a.rm成為greenmpc.exe的命令列引數,flash通過該語句,先開啟greenmpc.exe,再通過命令列引數告訴greenmpc,要它開啟a.rm這個檔案.
所以,在5裡頭,做這個是非常方便的.
現在普遍都用7或以上版本了.fscommand("exec","greenmpc.exe a.rm")失效,只能用fscommand("exec","greenmpc.exe"),而這是達不到目的的,因為它只能開啟greenmpc.exe,而不能用greenmpc.exe開啟a.rm.
所以,目前最大的問題有兩個:
1 要把a.rm傳遞出去
2 要讓a.rm這個引數給greemmpc.exe接收.
flash把變數存在於記憶體裡,至少對於大部分flash設計者來說,在別的程式裡是沒辦法獲得的.所以,要嘗試把a.rm存到硬碟裡.
然而,在本地,flash6和7版本都只能把資料存在於sharedobject裡,其儲存路徑非常複雜(跟系統,使用者名稱等因素相關),一不小心就會出錯,所以,本地的硬碟還是不行.
那是否就沒辦法,"山窮水復疑無路"了?
回過頭來想記憶體,會想到有一塊很活潑的區域:剪貼簿,flash可以往剪貼簿傳送資料,這就"柳暗花明又一村"了!
第乙個問題解決了.下面是第二個問題.
如何讓greenmpc獲取到剪貼簿的資訊呢?
flash是沒有能力直接告訴greenmpc直接獲取剪貼簿的資料作為命令列引數,因此,我們要通過乙個中介.
筆者用vb寫了個程式,獲取剪貼簿資料,並且把資料以命令列引數的形式交給greenmpc.exe.
這樣,問題就完全解決了,下面說說具體做法
下面說說具體做法
1 因為涉及多個檔案,所以第一步先把檔案放好.
1.1 新建一目錄,你以後的檔案都在此目錄裡.
1.2 在該目錄下新建一flash文件.
1.4 放入中間程式,檔案在樓頂的壓縮包裡面的fscommand資料夾下,名為openmovie.exe.
該程式是筆者用vb寫的,裡頭的**如下(因為這是討論flash的地方,所以不作詳細解釋,讀者有興趣的話,可以參考跟vb有關的書籍).
private sub form_load() 』子過程,當程式窗體載入時執行
on error goto openerr 』發生錯誤後,程式結束
dim filnam as string 』定義filnam變數
filnam = clipboard.gettext 』把剪貼簿的資料儲存在乙個名為filnam的變數裡.
clipboard.clear 』清空剪貼簿
openerr:
end '程式結束
2 檔案放好了,下面編輯flash文件
2.2 在裡頭新增**
on(release)
2.3 現在,測試影片,你現在是看不到任何效果的.
2.4 但是,你現在如果開啟記事本,"貼上"一下,你會發現貼上出來的是a.rm,可見,剪貼簿已經從flash裡獲得資料了.
2.7 如果你遮蔽了選單,那就要在flash設計模式下生成exe
"檔案"-"發布設定",把"windows放映檔案(*.exe)勾上,按"發布",就可以了
C 呼叫帶引數EXE檔案及帶啟動引數EXE
一 先製作乙個帶啟動引數的exe檔案。步驟 1 定義全域性私有變數 private string s new string 1 這裡為了簡單起見,只做乙個引數 2 在窗體的建構函式中初始化啟動引數 public form1 string p 3 在main 函式中進行引數判斷 到這裡,帶啟動引數的e...
Windows C 呼叫帶引數exe
1.使用system函式 system exe引數1引數2 引數3.chars 300 char filename sprintf s s,s s s s exe aa bb filename system s system 的一般格式為 system teqc.exe meta 缺陷 會出現命令列...
python帶引數打包exe及呼叫
1.舉個栗子 xx.py import sys arg1 sys.ar 1 arg2 sys.ar 2 print arg1 print arg2 平時執行python xx.py arg1 arg2 打包完成後執行xx.exe arg1 arg2 打包完成後執行後並獲得print輸出 output...