1
我正在嘗試將一些代碼放在一起,這些代碼要求用戶輸入當前的Windows用戶名和密碼才能運行Excel文件。但是,我遇到了我的代碼部分process.start問題。不知道我錯過了什麼。在成功的Windows身份驗證之後運行Excel文件
代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace TestApp
{
public partial class Form1 : Form
{
[System.Runtime.InteropServices.DllImport("advapi32.dll")]
public static extern bool LogonUser(string userName, string domainName, string password, int LogonType, int LogonProvider, ref IntPtr phToken);
public Form1()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, EventArgs e)
{
bool issuccess = false;
string username = GetloggedinUserName();
if (username.ToLowerInvariant().Contains(txtUserName.Text.Trim().ToLowerInvariant()) && username.ToLowerInvariant().Contains(txtDomain.Text.Trim().ToLowerInvariant()))
{
issuccess = IsValidateCredentials(txtUserName.Text.Trim(), txtPwd.Text.Trim(), txtDomain.Text.Trim());
}
if (issuccess)
MessageBox.Show("Successfuly Login !!!");
// Here is where I am having trouble. I cannot get this file to run.
Process.Start("Z:\\FolderA\\Test.xlsx");
else
MessageBox.Show("Invalid Username and/or Password Combination. Please try again. ");
}
private string GetloggedinUserName()
{
System.Security.Principal.WindowsIdentity currentUser = System.Security.Principal.WindowsIdentity.GetCurrent();
return currentUser.Name;
}
private bool IsValidateCredentials(string userName, string password, string domain)
{
IntPtr tokenHandler = IntPtr.Zero;
bool isValid = LogonUser(userName, domain, password, 2, 0, ref tokenHandler);
return isValid;
}
private void ButtonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
- Visual Studio中錯誤消息:
嚴重性代碼描述
錯誤CS0103名稱 '處理' 不存在於當前上下文TestApp存在C: \ C#\ Windows身份驗證\ C#\ TestApp \ Form1.cs
錯誤CS1513}預計TestApp C:\ C#\ Windows Authe ntication \ C#\ TestApp \ Form1.cs中
請添加確切的錯誤消息/例外,你正在。同時請說明您的實際代碼是否編譯,並確保您在問題中發佈的[MCVE]反映了您的實際問題。到目前爲止,代碼只是語法錯誤。 –
附註:在SO上創建帖子時,請不要添加「謝謝」筆記,您的生活故事(新的/新的語言)以及標題中的標籤。 –
@AlexeiLevenkov - 最重要的是,我覺得在預先讚賞的情況下是合適的。事實上,對於你的陳述的前一部分:在我以前的職位之一,我因爲提供錯誤消息而受到責備,所以......我有點困惑。儘管坦率地說,我尊重我的代碼在「語法上不正確」的事實。這就是我尋求幫助的原因。無論如何,謝謝你的建設性批評。有一個難忘的一天 –