今天在整合程序的時候,要從一個程序轉到另一個程序 當然要使用:
ProcessStartInfo startInfo = new ProcessStartInfo("\\Program Files\\IE\\IE.exe", s);
Process.Start(startInfo);
不過對於wm來說 不支持Process.Start(string)形式 真汗。
這裡的s 是指:
string fullname = treeView1.SelectedNode.FullPath;
// string s = "\"" + @fullName + "\"";
string s = @fullName ;
開始我還傻了吧唧的 吧@\"+ fuluuname 如此使用 結果錯誤的,@直接跟路徑名就好。系統自動辨認。
傳遞好參數之後,那麼怎麼使用這個參數呢 :
在被啟動程序中
[MTAThread]
static void Main(string[] args)
{
if(string.IsNullOrEmpty(string.Join(" ", args)))
{ Application.Run(new Form1()); }
else
{
Application.Run(new Form1(string.Join(" ", args)));
}
}
這裡一定要注意 “ ”之間我是按了一個空格的,args會自動根據空格分成數組如
D:\My Documents 他會分成 arg[0]=D:\My arg[1]=Documents
就因為這個問題我高了一下午,開始還以為自己重寫的ie有問題,加上調式wm不是很方便真的郁悶的要死。 空格沒有轉義字符 只有空字符null有轉義字符\0,有時候真的搞不懂網絡上那些標題命名為 空格轉義字符的人 竟然不具體標明 ,亂轉。
在網絡中還搜索到了一片
http://www.cnblogs.com/tuyile006/archive/2006/05/09/395193.html
寫的不錯 不過沒有調試 其內容如下:
這幾天做一個通訊程序,要通過“運行”開啟一個進程
結果有時候可以正常調用,有時候就出現問題
出問題代碼如下:
Process p=Process.Start(t_path.Text.ToString(),t_file.Text.ToString());
Process.start()第一個參數是運行的程序名稱,後面是該程序參數
如果這兩個路徑中不含空格的時候就可以正常運行,
如果包含像"D:\Program Files\"或者"G:\Documents and Settings"之類的路徑程序就會出問題
原因是在運行行裡面 如果運行的程序只接收一個參數,參數裡面夾一個空格就相當於回車
也就是說,如果運行輸入:c:\aa.exe d:\Program Files\tt.txt
其實運行的是:c:\aa.exe d:\Program
這樣肯定會出錯了
正確的寫法應該是:
Process p=Process.Start("\""+t_path.Text.ToString()+"\"","\""+t_file.Text.ToString()+"\"");
這種寫法絕對保險。
調用的時候采用if (args.Length<=0)
{ Application.Run(new Form1()); }
else
{
Application.Run(new Form1(args[0]));
}
在從一個程序 引用另一個程序後 有時候 在單獨啟動第二個程序就會出現
部署和/或注冊失敗,錯誤為: 0x8973190e。 寫入文件“%CSIDL_PROGRAM_FILES%\*\*.exe”時出錯。錯誤 0x80070020: 另一個程序正在使用此文件,進程無法訪問
的錯誤 這時候應該
其實這個東東的路徑是在我的文檔下的\*\*.exe路徑下,根本沒有任何程序在使用這個文件
在mobile上選擇文件--清除保存的狀態,然後把mobile退出一下就好了
就是模擬上的file 當然我的是英文版的 然後選擇裡面的clear的一個類似選項就可以了
你也可以參看
http://www.wmisv.com.cn/bbs/dispbbs.asp?boardID=2&ID=5065
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。