win32

windows程序设计基础知识

▼魔方 西西 提交于 2019-12-04 13:36:11
Win32 API(Application Programming Interface) Win32 API可认为是一个程序库,提供各式各样的与windows系统服务有关的函数。 Win32 API是最底层的服务,可调用Windows的各种服务。 通常所说的SDK编程就是直接调用API函数进行编程。 Win32 API是指编制32位应用程序时用的一组函数、结构、宏定义。在Win32的环境下,任何语言都是建立在Win32 API基础上的。C#等软件API隐藏的较深。 大多数API位于三个核心的DLL中 kernel32.dll、user32.dll、GDI32.dll 采用其开发windows应用程序过于繁琐。 API&MFC 1、kernel 在Win32中库名为KERNEL32.DLL,主要用于产生与操作系统之间的关联。 程序加载 上下文选择 文件输入输出 内存管理 例如:GlobalMemoryStatus函数就是包括当前物理内存及虚拟内存的使用信息。 2、user 这个类库在Win32中名叫USER32.DLL 它允许管理全部的用户接口。例如 窗口 菜单 对话框 图标等。 例如,DrawIcon函数将在指定的设备关联上“画”出图标或者鼠标。 3、GDI(Graphical Device Interface) 它在Win32中的库名为GDI32.dll,它是图形输出库

Windows本机调试内部组件

跟風遠走 提交于 2019-12-04 09:39:55
将详细分析Windows调试的本机接口。希望读者对C和通用NT内核体系结构和语义有一些基本的了解。此外,这并不是介绍什么是调试或如何编写调试器。它可以作为经验丰富的调试器编写人员或好奇的安全专家的参考。 本机调试 现在是时候看看事情的本机方面,以及ntdll.dll中的包装层如何与内核通信。DbgUi层的优点是它允许更好地分离Win32和NT内核,而NT内核一直是NT设计的一部分。NTDLL和NTOSKRNL是一起构建的,所以他们对彼此有复杂的了解是正常的。它们共享相同的结构,需要有相同的系统调用ID等。在完美的世界中,NT内核应该对Win32一无所知。 此外,它还可以帮助任何希望在本机应用程序中编写调试功能或编写功能齐全的本机模式调试器的人。 如果没有DbgUi,就必须手动调用Nt*DebugObject api,并在某些情况下进行大量的前/后处理。 DbgUi将所有这些工作简化为一个简单的调用,并提供一个干净的接口来完成。 如果内核在内部发生变化,DbgUi可能会保持不变,只会修改其内部代码。 我们从负责创建调试对象并将其与当前进程关联的函数开始探索。与Win32不同,创建调试对象和实际附加到进程之间有着明显的区别。 NTSTATUS NTAPI DbgUiConnectToDbg(VOID) { OBJECT_ATTRIBUTES ObjectAttributes; /*

TeslaManage 运行日志

天大地大妈咪最大 提交于 2019-12-04 05:28:25
“TeslaManage.exe”(Win32): 已加载“F:\TeslaManageProject\TeslaManage\x64\Debug\TeslaManage.exe”。已加载符号。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\KernelBase.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\shell32.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\ucrtbase.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32): 已加载“C:\Windows\System32\cfgmgr32.dll”。无法查找或打开 PDB 文件。 “TeslaManage.exe”(Win32)

WPF WIN32 hwndhost WM_MOUSEMOVE WM_MOUSEHOVER

匿名 (未验证) 提交于 2019-12-03 10:10:24
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a WPF app with a usercontrol that contains a HwndHost. The HwndHost is created as follows: hwndHost = CreateWindowEx(0, "static", "", WS_CHILD | WS_VISIBLE, 0, 0, hostHeight, hostWidth, hwndParent.Handle, (IntPtr)HOST_ID, IntPtr.Zero, 0); hwndControl = CreateWindowEx(0, "Static", "", WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN , 0, 0, hostHeight, hostWidth, hwndHost, (IntPtr)PICTUREBOX_ID, IntPtr.Zero, 0); I then hook into the message pump using HwndSourceHook and loads of messages come through. Except the ones I want i.e. WM_MOUSEMOVE,

JNA:com.sun.jna.platform.win32.Win32Exception- access denied

匿名 (未验证) 提交于 2019-12-03 09:19:38
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I use following code to control a windows service from java program public class PostgresService2 { public static void main(String[] args) { try { W32ServiceManager serviceManager = new W32ServiceManager(); serviceManager.open(Winsvc.SERVICE_STOP); W32Service service = serviceManager.openService("DBService", Winsvc.SERVICE_ACCEPT_STOP); service.stopService(); service.close(); } catch (Exception ex) { ex.printStackTrace(); } } } This gives error on windows7 (64bit) machine com.sun.jna.platform.win32.Win32Exception: Access is denied. at com

Run normal Win32 applications in Docker for Windows

匿名 (未验证) 提交于 2019-12-03 08:52:47
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I'm a little bit confused about the concept of Docker for Windows. Can I create a docker container for windows (and a windows host like Server 2016) and install a normal windows application into that container (simple: notepad.exe; advanced some more complex application programmed in Delphi)? And can I run this container on every Docker enabled (windows) Host? Does the container starts automatically the application inside? Or can a windows docker container only provide service or webbased applications like an IIS website? 回答1: if

Eclipse not respond when try to configure GIT

匿名 (未验证) 提交于 2019-12-03 08:48:34
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Windows 10 Pro 64 Bit SSD Kingston i5-4690 Eclipse version: ALL Workspace: empty Problem: everytime i try to configure TEAM > GIT > configuration or i try to import/create local/remote git, eclipse freeze until i force to close it with task. I have already tryed a fresh install ( juno/mars/neon/oxygen ) 32/64 bit with and without installer with no good results !SESSION 2017-06-27 00:39:29.113 ----------------------------------------------- eclipse.buildId=4.7.0.I20170531-2000 java.version=1.8.0_91 java.vendor=Oracle Corporation BootLoader

How can I fix “[Error 6] The handle is invalid.” with PySerial

匿名 (未验证) 提交于 2019-12-03 01:23:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to connect to my phone from my Windows 7 PC using PySerial with the following code: import wmi import serial c = wmi.WMI() modem = c.query("SELECT * FROM Win32_POTSModem").pop() ser = serial.Serial(modem.AttachedTo, modem.MaxBaudRateToSerialPort) try: ser.write('at \r\n') print ser.readline() finally: ser.close() But get the following error on the write call: Traceback (most recent call last): File "D:\Alasdair\Documents\Python Scripts\Phone Interface\test.py", line 14, in ser.write('at \r\n') File "C:\Python26\Lib\site-packages