Articles of .net

原始打印设置DevMode选项(方向,副本,边距,默认来源等)

希望这里的某个人能够帮我解决问题,因为我正试图让这个工作成功。 基本上我需要打印使用winspool.Drv win32 API发送原始文本/ PCL命令到打印机。 这工作正常,但是,您在打印机对话框/首选项中select的打印机选项都不能执行任何操作。 最终我想从对话框PrinterSettings中获取DEVMODE,并将其用于原始打印,但是我甚至无法手动设置它。 我试图在WritePrinter之前更改DEVMODE,或者在单独的打开/closures打印机之前尝试更改DEVMODE,我试图只使用DocumentProperties调用,并使用GetPrinter / SetPrinter与PRINTER_INFO_8结构,没有任何粘附。 DEVMODE结构似乎填写正确,我改变它,似乎改变正确,但打印机总是打印相同的方式无论如何。 这里是我使用的代码: 方法一: public static bool SetPrinterSettings(PrinterSettings settings, IntPtr hPrinter) { IntPtr hDevMode; // a handle to our current DEVMODE IntPtr pDevMode; // a pointer to our current DEVMODE String sPrinterName; // normalized printer name DEVMODE dm; // Setup sPrinterName = settings.PrinterName.Normalize(); // Obtain the […]

C#中的本地窗口层次结构和类名

我正在创build一个函数来查找给定窗口层次结构的特定窗口,如下所示: protected bool MapWindowHierarchy (ATS.Library.Window window) { bool result = false; List<Process> processes = null; processes = GetProcesses().ToList(); processes.ForEach ( process => { if (process.MainWindowHandle == window.Handle) { // Populate window properties. // Get child windows with filled properties. } } ); return (result); } protected bool MapWindowHierarchy (List<ATS.Library.Window> windows) { return (windows.All(window => this.MapWindowHierarchy(window))); […]

从Win XP以编程方式从C#中注销用户

如何启动Windows XP用户从C#应用程序注销? 我的应用程序的行动应该产生相同的结果,点击XP开始菜单中的“注销” – 如果系统要求确认,这是没有问题的。 是否有.Net或一个非托pipeAPI?

Windows窗体中的标准Windows菜单栏

我注意到,添加一个MenuStrip (从工具箱)到我的表单devise不会产生像许多本机Windows应用程序中看到的菜单栏。 相反,我得到一个像Visual Studio自己的菜单栏。 似乎没有一个MenuStrip的样式设置可以模仿更常见的原生菜单栏。 有没有办法添加一个菜单栏到我的Windows窗体应用程序,看起来像记事本,任务pipe理器和其他人看到相同? (最好与devise师,但我不介意以编程方式添加它)。 插图的屏幕截图:

写入Windows应用程序事件日志,无需注册事件源

有没有办法写这个事件日志: 或者至less,一些其他的Windows默认日志, 我不需要注册一个事件源 ?

我怎样才能得到在.NET中的文件扩展名的描述

HI, Windows提供文件扩展名的描述,如.cpl文件的“控制面板项目”和.daa文件的“PowerISO文件”。 有什么办法可以在.NET中获得这些数据? 即时通讯使用C#,但可以阅读所有其他的.NET语言。 还有一种方法来获得扩展的默认图标? 任何帮助,将不胜感激。 提前致谢

如何检查一条path是否是另一条path的孩子?

如何检查一条path是否是另一条path的孩子? 只是检查子string是不是要走的路,因为可以有项目,如。 等等

帮助修复C#中的错误“引用或失败参数必须是可赋值的”

以下是我遇到错误的一段代码: public static bool Flash(Form form) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle, 15, uint.MaxValue, 0))); //A ref or out argument must be an assignable variable } public static bool Flash(Form form, uint count) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle, 3, count, 0))); //A ref or out argument must be an assignable variable } private static […]

错误MSB3147:找不到所需的文件“setup.bin”发布到本地失败

在网上冲浪和讨论这个问题之后 ,我终于问了一个关于旧错误的新问题。 我在Windows 10上使用Visual Studio Enterprise 2015。 这个问题和答案是从2011年MSBuild:错误MSB3147:无法find所需的文件“setup.bin” 。 这个问题和接受的答案是在2012年写的,其他答案是从2015年,有一个从2016年,这是没有帮助无法find所需的文件“setup.bin” 。 该项目的目标版本是4.0。 我正在运行一个只能从另一台本地机器运行的psl脚本。 我不断收到这个错误: C:\ Program Files \(x86)\ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets(4769,5):错误MSB3147:找不到需要的文件'setup.bin' SRC \ XXX \引擎”。 [C:\ dev \ xxx \ src \ xxx \ xxx.csproj]发布到本地失败 我已经尝试了每个答案的每个解决scheme。 唯一的作品是从这个答案 <BootstrapperEnabled>false</BootstrapperEnabled> 如果需要设置为true,那么这是一个问题。 我也在MSDN上跟着这个答案 。 这个博客 。 我添加了registry项: 我也注意到Windows 10内置了.NET框架,而且它错过了4.0。 我已经卸载了dotNetFx40_Full_setup.exe,并在Visual Studio上运行了修复程序,以便根据需要安装sdks。 这没有帮助。 我有一个MSBuild的exe文件应该是这样的 : […]

将批处理shell脚本输出读入C#.Net程序

对于一个项目,我正在构build一个旧的批处理脚本系统的新前端。 我必须使用Windows XP和C#.Net。 我不想触摸这个过去的十年制作的旧的后端系统。 所以我的想法是启动cmd.exe程序并在那里执行Bash脚本。 为此,我将使用.Net中的“系统”function。 但是我还需要将“批处理脚本命令行输出”读回到我的C#程序中。 我可以redirect到一个文件。 但是必须有一种方法可以将CMD.exe的标准输出转换为我的C#程序。 非常感谢你!