首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Visio 二次開發:Web 端啟動繪圖客戶端並自動登入(四)——Main 入口參數解析與 IE 設定

     編輯:關於C語言

程式入口:參數化登入判斷

[STAThread]
static void Main(string[] args)
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    
    if (args.Length > 0)
    {
        LoginByArgs(args); // 參數化登入
    }
    else
    {
        LoginNormal(args); // 一般登入
    }
}

參數化登入核心邏輯


private static void LoginByArgs(string[] args)
{
    CommandArgs commandArgs = CommandLine.Parse(args);
    if (commandArgs.ArgPairs.Count > 0)
    {
        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;
        }
        
        if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(identity))
        {
            bool bLogin = Portal.gc.LoginByIdentity(userName.Trim(), identity);
            if (bLogin) ShowMainDialog();
            else LoginNormal(args);
        }
    }
}

關鍵部署條件:IE 安全性設定

IE 啟用 JavaScript 權限設定

必要條件:IE 必須啟用「對未標示為安全的 ActiveX 控制項初始化並執行腳本」或相關權限,否則 WScript.Shell 無法啟動本地程式。

完整鏈路總結

  1. Web 點擊按鈕 → JavaScript 呼叫 WScript.Shell.Run
  2. 作業系統 PATH 包含客戶端安裝路徑 → 找到執行檔
  3. 啟動參數 -u user -p token 傳遞給 Main(string[] args)
  4. CommandLine.Parse 解析參數 → 呼叫 LoginByIdentity
  5. 驗證成功 → 顯示主視窗;失敗 → 回退一般登入
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved