C# 通过citrix访问应用程序时获取客户端计算机的默认打印机
我有一个windows应用程序,它在应用程序启动时将客户机的默认打印机插入数据库。它在我的解决方案中非常有效。我使用下面的代码来保存它 如果我在citrix中托管此应用程序,那么我应该如何执行相同的功能? 问候,, 西瓦吉思SC# 通过citrix访问应用程序时获取客户端计算机的默认打印机,c#,C#,我有一个windows应用程序,它在应用程序启动时将客户机的默认打印机插入数据库。它在我的解决方案中非常有效。我使用下面的代码来保存它 如果我在citrix中托管此应用程序,那么我应该如何执行相同的功能? 问候,, 西瓦吉思S string GetDefaultPrinter() { string defaultprinter = ""; try { PrinterSettings settings = new
string GetDefaultPrinter()
{
string defaultprinter = "";
try
{
PrinterSettings settings = new PrinterSettings();
foreach (string printer in PrinterSettings.InstalledPrinters)
{
settings.PrinterName = printer;
if (settings.IsDefaultPrinter)
{
defaultprinter = printer;
string[] array_printer= defaultprinter.Split('\\');
defaultprinter= array_printer[3].ToString();
string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", defaultprinter);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection coll = searcher.Get();
foreach (ManagementObject localprinter in coll)
{
foreach (PropertyData property in localprinter.Properties)
{
// Console.WriteLine(string.Format("{0}: {1}", property.Name, property.Value));
//MessageBox.Show(property.Name+"-"+ property.Value);
if (property.Name == "ShareName")
{
defaultprinter = property.Value.ToString().Trim();
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("defaltprinter- "+defaultprinter+"-" + ex.Message);
}
return defaultprinter;
}<br>