Tag: winapi

从Java调用Win32 API方法

我需要从Java程序中调用Wininet.dll中的一些方法 。 我可以find很多关于如何调用从Java创build的新DLL的教程,但似乎找不到有关如何从Java调用已经存在的DLL的教程。 我知道这涉及到JNI,但是我到底该怎么做呢? 我需要在Wininet.h上调用javah吗? 我在哪里得到一个Wininet.h的副本? 指向现有的详细教程的指针就足够了。

如何使用Python的Win32 API?

我如何在Python中使用win32 API? 什么是最好的和最简单的方法来做到这一点? 你能提供一些例子吗?

程序运行时防止窗口进入睡眠状态?

当我的程序运行时,我不得不停止窗口进入睡眠状态。 而且我不仅要防止睡眠计时器,还要取消睡眠事件,如果按下睡眠button或以任何其他方式主动告诉计算机hibernate。 因此SetThreadExecutionState是不够的。 或者…我实际上并不需要完全阻止睡眠,只是延迟5-10秒才能让我的程序完成任务。 (我知道这是坏的程序行为,但它只是为了个人使用。)

Vista / 7:如何获得玻璃颜色?

你如何使用DwmGetColorizationColor ? 该文件说它返回两个值: 包含用于玻璃组成的颜色的32位0xAARRGGBB 一个布尔参数是真的“如果颜色是不透明的混合”( 不pipe是什么意思 ) 这是我喜欢的颜色,一个很好的呕吐绿色: 您可以注意到颜色很绿,半透明的标题栏(在白色背景下)非常清晰地显示了鼻涕的颜色: 我尝试从Windows获取颜色: DwmGetColorizationColor(dwCcolorization, bIsOpaqueBlend); 我得到了 dwColorization: 0x0D0A0F04 bIsOpaqueBlend: false 根据文档,这个值是格式AARRGGBB ,因此包含: AA: 0x0D (13) RR: 0x0A (10) GG: 0x0F (15) BB: 0x04 (4) 据推测这意味着颜色是(10,15,4),不透明度约为5.1%。 但是如果你真的看到这个RGB值,那就远远不够我想要的鼻涕绿色。 这是 (10,15,4),不透明度(原始颜色),和 (10,15,4)对白色/棋盘背景具有5%的不透明度: DwmGetColorizationColor不是Lime绿, DwmGetColorizationColor返回几乎完全透明的黑色 。 所以问题是: 如何在Windows Vista / 7中获得玻璃颜色 ? 我尝试使用DwmGetColorizationColor ,但是这不工作得很好。 一个人有同样的问题,但一个更好的shiny的图片来吸引你松鼠: 因此,它归结为 – DwmGetColorizationColor是完全不可用的应用程序试图将当前的颜色应用到不透明的表面上。 我喜欢这个人的截图比我的好得多。 以他的截图作为模板,我做出了更多的闪光点: 对于最后两个截图,alpha混合芯片是一个真正的部分透明的PNG,融合到您的浏览器的背景。 凉! […]

如何在MFC中创build可resize的CDialog?

我必须创build一个基于对话框的应用程序,而不是旧的CFormViewtypes的devise。 但是CDialog生成固定大小的对话框。 如何创build基于对话框的应用程序与可resize的对话框?

Windows 8中的Metro应用程序如何与同一台机器上的后端桌面应用程序进行通信?

在使用适用于Windows 8的新Metro风格构buildUI前端的情况下,希望它与在同一本地计算机(例如,Windows服务应用程序)上的桌面上运行的.NET应用程序进行通信。 metro应用程序和桌面应用程序之间可以使用哪种forms的进程间通信? 感谢Visual Studio团队的Pavel Minaev,他在评论中提供了一些初始信息,引用了: 根据马丁·洛维尔(Martyn Lovell)的说法,没有任何有意的机制,有些可以用来作为它的意图受到限制。 命名pipe道不在那里,例如,也不是内存映射文件。 有套接字(包括服务器套接字),但连接到本地主机时,只能连接到同一个应用程序。 你可以在共​​享的“已知文件夹”(文件,图片等)之一中使用正常的文件,但这是一个相当粗糙的黑客需要轮询,并为用户可见。 – 帕维尔米纳夫评论这个问题 因此,如果没有正常的方法,我正在考虑使用Web服务或读取/写入数据库,以便获得某种forms的通信,当进程在同一台计算机上运行时,这两种方式似乎都是过度的。 我在这里尝试是有道理的吗? 我可以看到需要一个metro应用程序作为桌面上运行的现有服务的前端UI。 或者,使用WPF作为桌面上运行的前端UI(比如非地铁应用程序)更好。

Windows 7是否像Vista那样限制文件夹访问?

我注意到,在我的应用程序中,大多数兼容性问题是由于某些文件夹的“拒绝访问”引起的,例如: Application Data [C:\ProgramData] Desktop [C:\Users\Public\Desktop] Documents [C:\Users\Public\Documents] Favorites [C:\Users\Public\Favorites] Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu] Templates [C:\ProgramData\Microsoft\Windows\Templates] Windows 7是否有与Vista相同的问题? 在堆栈溢出的成员的帮助下,我知道在Vista上我可以使用CSIDL_APPDATA来启用文件访问而不存在UAC问题或“访问被拒绝”错误。 这是否也适用于Windows 7?

如何在c ++中检测win32进程的创build/终止

我知道要接收有关win32进程创build或终止的通知,我们可以使用API​​ PsSetCreateProcessNotifyRoutine()来实现一个NT内核模式驱动程序,它提供了注册系统范围的callback函数的能力,每当新进程启动退出或终止。 我的问题是,如果这是可能的而不创build一个NT内核模式驱动程序,只使用win32 api函数使用c + +? 没有使用无限循环的基本解决scheme查询活动进程的列表当然。 是否有任何库或win32 API提供相同的function(系统范围的callback,asynchronous事件,…)? 谢谢

如何以编程方式获取DLL或EXE文件的版本?

我需要使用C或C ++中的Win32本地API获取DLL或EXE文件的产品版本和文件版本。 我不是在寻找Windows版本,而是通过右键单击DLL文件,select“属性”,然后查看“详细信息”选项卡,看到的版本号。 这通常是由四部分组成的虚线版本号xxxx

CreateJobObject / SetInformationJobObject在.net中的工作示例pinvoke?

我正在努力拼凑一个创造性的CreateJobObject和SetInformationJobObject工作示例。 通过各种谷歌search(包括俄罗斯和中国的post!)我拼凑了下面的代码。 我认为JOBOBJECT_BASIC_LIMIT_INFORMATION的定义基于平台(32/64位)进行更改。 CreateJobObject / AssignProcessToJobObject 似乎工作。 SetInformationJobObject失败 – 错误24或87。 Process myProcess // POPULATED SOMEWHERE ELSE // Create Job & assign this process and another process to the job IntPtr jobHandle = CreateJobObject( null , null ); AssignProcessToJobObject( jobHandle , myProcess.Handle ); AssignProcessToJobObject( jobHandle , Process.GetCurrentProcess().Handle ); // Ensure that killing one process kills the […]