程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之Web端啟動繪圖客戶端並登錄(4)

C#進行Visio二次開發之Web端啟動繪圖客戶端並登錄(4)

編輯:關於C語言

然後在程序的入口Main函數中,增加對參數化的登錄解析,如下所示

[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length > 0)
{
//args = new string[] { "-u ", "admin", "-p", "4e0a40090737639a661f6e7109f1062c585dff410f668c3c5f836caf8ef54e9a695bfe48647bb62450457fe40b6c383c6dbd6e0002673a4ae14a74634679bb12487c7fc0406e7aac6611" };
LoginByArgs(args);
}
else
{
LoginNormal(args);
}
}
/// <summary>
/// 使用參數化登錄
/// </summary>
/// <param name="args"></param>
private static void LoginByArgs(string[] args)
{
CommandArgs commandArgs = CommandLine.Parse(args);
if (commandArgs.ArgPairs.Count > 0)
{
#region 獲取用戶參數
string userName = string.Empty;
string identity = string.Empty;
foreach (KeyValuePair<string, string> pair in commandArgs.ArgPairs)
{
if ("U".Equals(pair.Key, StringComparison.OrdinalIgnoreCase))
{
userName = pair.Value;
}
if ("P".Equals(pair.Key, StringComparison.OrdinalIgnoreCase))
{
identity = pair.Value;
}
}
#endregion
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(identity))
{
bool bLogin = Portal.gc.LoginByIdentity(userName.Trim(), identity);
if (bLogin)
{
ShowMainDialog();
}
else
{
LoginNormal(args);
}
}
}
}

至此,當客戶端安裝了繪圖客戶端後,Path的路徑將加入安裝的路徑,在Web端通過Javascript調用程序啟動即能進行響應,並通過CommandLine輔助類解析參數後進行登錄。

但要主要的是,Javascript能夠調用本地的程序,是需要在IE中設置啟用Javascript權限許可才可以。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved