C# 使用C设置默认全局打印首选项#
目标:我正在尝试创建一个简单的控制台应用程序,其功能是为我的本地计算机设置默认打印首选项。默认情况下,任何访问打印机的本地应用程序都将使用此设置 下面是我试图设置默认值的属性C# 使用C设置默认全局打印首选项#,c#,.net,windows,winapi,c#-4.0,C#,.net,Windows,Winapi,C# 4.0,目标:我正在尝试创建一个简单的控制台应用程序,其功能是为我的本地计算机设置默认打印首选项。默认情况下,任何访问打印机的本地应用程序都将使用此设置 下面是我试图设置默认值的属性 纸张类型 纸张方向 边际 默认打印机 我实现了下面的代码,但没有什么用处 using (ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer")) {
using (ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"))
{
using (ManagementObjectCollection objectCollection = objectSearcher.Get())
{
foreach (ManagementObject mo in objectCollection)
{
if (string.Compare(mo["Name"].ToString(), "OneNote", true) == 0)
{
mo.InvokeMethod("SetDefaultPrinter", null, null);
return true;
}
}
}
}
即使默认打印机也会更新,但每次执行ctrl+p
时,都会选择不同的打印机
第二,我已实施以下代码来修改香港大学,但它没有提供预期的结果
string pageSetupKey = "Software\\Microsoft\\Internet Explorer\\PageSetup";
bool isWritable = true;
RegistryKey rKey = Registry.CurrentUser.OpenSubKey(pageSetupKey, isWritable);
rKey.SetValue("margin_bottom",1000, RegistryValueKind.DWord);
rKey.SetValue("margin_top", 1000, RegistryValueKind.DWord);
rKey.SetValue("margin_left", 1000, RegistryValueKind.DWord);
rKey.SetValue("margin_right", 1000, RegistryValueKind.DWord);
请澄清我打算做的事情是可以实现的,以及实现的方法。
我还提到了其他没有帮助的帖子和问题。
注意:我想做这些更改,不是基于流程/程序,而是针对当前用户。。注册表不是一个编程接口。@IInspectable至少有办法绕过打印对话框吗?这能给你一些帮助吗?如果你有新问题,请单击按钮。