winapi相关内容

如何以编程方式遵循.lnk文件

我们有一个网络驱动器完全快捷方式(.LNK文件)指向的文件夹,我需要编程遍历他们在C#的WinForms应用程序。 什么的实际的选择我呢? 解决方案 添加IWshRuntimeLibrary作为参考,您的项目。添加引用,COM选项卡,Windows脚本宿主对象模型。 下面是我如何得到一个快捷方式的属性: IWshRuntimeLibrary.IWshShell WSH =新IWshRu ..
发布时间:2015-11-24 15:41:55 C#/.NET

窗口 - CPU电源管理API

是由Windows的CPU电源管理提供什么样的API(我感兴趣的CPU频率调节,设定最小和最大CPU频率 - 类似于你可以在控制面板中做的电源计划是什么,但以编程的方式)。我也有兴趣在.net中的API。 (这不是我打算在生产环境中使用,而是作为概念的一些动态电源管理算法的证明) 解决方案 C ++的电源管理API: .NET电源管理API是在的Microsoft.Win32 命名空间。 从 ..
发布时间:2015-11-24 15:38:59 C#/.NET

更改键盘布局为其他进程

我正在写在后台运行,并允许用户使用htokey在活动窗口切换键盘布局的C#程序。 (仅适用于Windows支持CTRL + SHIFT和放大器; ALT + SHIFT) 我用RegisterHotKey捕捉热键,和放大器;它的正常工作。 现在的问题是,我找不到任何的API来改变键盘布局为焦点的窗口。 ActivateKeyboardLayout和LoadKeyboardLayout只能更改 ..
发布时间:2015-11-24 15:30:53 C#/.NET

如何设置不同的工具提示文本在ListBox每一个项目?

我有一个数据绑定到对象的集合列表框。列表框被配置为显示各对象的标识符属性。我想显示具体到正在上空盘旋,而不是一个提示中的列表框作为一个整体的列表框内部的项目信息的工具提示。 我的WinForms和感谢内工作放在一起pretty的很好的解决方案了一些有用的博客文章,我想和大家分享。 我会很感兴趣地看,如果有任何其他优雅的解决这个问题,不然怎么可能在WPF来完成。 解决方案 有两个主要的子问题 ..
发布时间:2015-11-24 15:27:48 C#/.NET

从Windows服务全局键盘钩子

是否有可能写在Windows(XP和7)服务的全球键盘挂钩? (使用SetWindowsHookEx函数并没有一个系统的服务工作) 解决方案 的文档 SetWindowsHookEx函数说: ,或在同一桌面与调用线程的所有线程。 因此​​,你需要用相同的桌面关联(即使不考虑终端服务,并且会有多个桌面:正常的桌面,安全桌面(用于UAC和登录)和屏幕保护程序)。 由于服务不带有交互式会话 ..
发布时间:2015-11-24 15:07:19 C#/.NET

获取应用程序的窗口句柄

我要建,鉴于另一个应用程序mainWindowhandle它收集有关窗口状态信息的应用程序。我没有问题,收集有关的子窗口的信息,但我不能访问应用程序,甚至菜单的其他打开的窗口。有没有办法得到一个应用程序的所有窗口句柄? 解决方案 您可以做 Process.MainWindowHandle 似乎做什么:使用P / Invoke来调用 EnumWindows的 功能,调用回调方法,每顶-level ..
发布时间:2015-11-24 15:06:45 C#/.NET

如何隐藏控制台窗口?

问:我有一个不应该被看作一个控制台程序。 (它重置IIS和删除临时文件。) 现在我可以设法隐藏窗口开始像这样之后: 静态无效的主要(字串[] args) { 变种currentProcess = System.Diagnostics.Process.GetCurrentProcess(); Console.WriteLine(currentProcess.MainWindowT ..
发布时间:2015-11-24 15:06:04 C#/.NET

有没有更快的替代GDI与getPixel()?

我在.NET应用程序中使用与getPixel()从GDI32.DLL到屏幕上的任意位置取样像素的颜色。它的工作原理确定,但它是我的一个主要性能瓶颈。 有没有做这件事的一个更快的方法? 解决方案 快速访问像素可以使用 LockBits()的方法的位图。这将包含一个指向的对象返回到你的像素数据的开始,你可以使用不安全code来访问内存。 http://www.bobpowell.net/loc ..
发布时间:2015-11-24 14:39:47 C#/.NET

托管在Delphi程序.NET运行库

我一直在寻找到使用一些.NET code,从一个Delphi程序中,我需要使用.NET程序集和predefined函数(我已经支持常规的DLL),使我的程序扩展性。 在很多网上搜索,我发现托管VCL 的,但我不准备支付250 $什么我需要的,我也发现了一些新闻组与code,它是不完整的,是行不通的。 我使用的是2007年德尔福为Win32。我可以用什么来动态地从组装predefined参数执行 ..
发布时间:2015-11-24 14:30:03 C#/.NET

如何使一个WPF窗口移动拖动扩展窗框?

在像Windows资源管理器和Internet Explorer的应用程序,你可以抓住扩展帧区域的标题栏并拖动窗口周围的下方。 有关的WinForms应用程序,窗体和控件都尽可能接近原生的Win32 API,因为他们可以得到;人会简单地覆盖其形式的WndProc()处理程序,过程中的在WPF中,我还可以实现类似的的WndProc()方法和它连接到我的WPF窗口的句柄同时延长了窗框进入客户区,像这 ..
发布时间:2015-11-24 14:16:02 C#/.NET

如何获得登录的用户的全名在Windows?

如何获得登录的用户的全名使用Windows API或其他的东西(他/她进入他/她的真名的那个)?比如如何让“约翰·史密斯”,而不是“约翰”(因为这是他的用户名)。 GetUserName(...)不会做的工作,因为它返回的用户名,而不是全名。 解决方案 您是否尝试过的 GetUserNameEx (NameDisplay,...)? ..
发布时间:2015-11-24 14:09:53 C#/.NET

我如何直接读取磁盘与.net?

时可以直接与.net磁盘读取?通过直接我通过设备绕过文件系统的意思。我想我会去通过打开设备某种程度上“\设备\ IDE \ IdeDeviceP2T0L0-1”为例。 如果我不能用.NET API知道哪些Win32 API的使用将有助于打开设备。 解决方案 的CreateFile 具有直接磁盘访问支持。阅读笔记下的“物理磁盘和卷”。你应该可以的P / Invoke调用。 注意,Vista和 ..
发布时间:2015-11-24 14:08:21 C#/.NET

为什么关闭启动时使用AllocConsole,导致我的整个应用程序退出控制台?我可以改变这种行为?

我想有发生的是,控制台窗口刚刚消失,或者更好的,这是隐藏的,但我想我的应用程序保持运行。那可能吗?我希望能够使用Console.WriteLine和具有控制台成为输出窗口。我希望能够隐藏和显示,而我不希望整个应用程序,只是因为控制台关闭死。 修改 code: 内部类SomeClass的{ [的DllImport(“kernel32中”) 私人静态外部布尔AllocConso ..
发布时间:2015-11-24 14:05:08 C#/.NET

检查路径是否有效

我只是想知道:我正在寻找一种方法来验证给出的路径是有效的。 。(注:我不想来检查文件是否存在我只是想证明路径的有效性 - 因此,如果一个文件能可能存在的位置)的 但问题是,我无法找到在 .NET API 东西。 由于多种格式和位置,Windows支持,我宁愿用的东西 MS-本地。 由于函数应该能够核对: 在相对Pathes(./) 在绝对Pathes(C:\ TMP) 在UNC-Path ..
发布时间:2015-11-24 14:03:57 C#/.NET

监控系统进程启动

有没有办法启动系统才开始监控流程? 例: 在象ZoneAlarm或防病毒程序的程序,当你运行一个程序会询问您是否允许运行此程序或不运行前... 解决方案 您应该检查 easyhook-持续,少走弯路的项目,该项目是微软走弯路项目的.NET端口。它可以让你上钩非托管API(如CreateProcess的)。查看code例子一个简单的FileMon样的程序这里 ..
发布时间:2015-11-24 13:56:08 C#/.NET

的CreateFile:直接写操作原始磁盘和QUOT;访问被拒绝" - Vista中,Win7的

有关微软文档是: 阻止直接写操作卷和磁盘 该可执行文件是用C ++编写,并调用的CreateFile()打开SD卡,有无文件系统。该的CreateFile()和连续的ReadFile()呼叫成功为 GENERIC_READ 无需管理员权限。 的CreateFile 失败 GENERIC_WRITE 甚至具有管理员权限。在资源管理器,我设置运行方式下的属性>兼容性>特权级别管理员。我也试着运行 ..
发布时间:2015-11-24 13:53:49 C#/.NET

是否有活动窗口的Windows系统事件改变了吗?

桌面应用程序我开发需要知道什么窗户是活跃的,而应用程序运行。目前,它执行 GetForegroundWindow()通话( user32.dll中)的每250毫秒。这种方法不是很准确。 是否有任何的Windows(WINAPI?)事件而触发每一个活动(聚焦)窗口中更改时间?我要订阅我的回调函数。 感谢。 解决方案 是的,你可以使用的 SetWinEventHook 功能。 hEvent ..
发布时间:2015-11-24 13:45:04 C#/.NET

ShellExecute的等值.NET

我在寻找执行相同类型的ShellExecute的确实在Win32中(打开,打印等任意文件类型)的东西的.NET- preferred方式。 我一直在编程的Windows了20多年,但我在.NET一个完整的新手,所以也许我只是找错了地方。我目前使用.NET 2.0(VS C#2005),但可以使用VS 2008,如果需要的话。 如果唯一的答案就是使用的P / Invoke,那么我可能会更好只是写 ..
发布时间:2015-11-24 11:58:26 C#/.NET