标签: winapi

malloc()与HeapAlloc()

malloc()和HeapAlloc()有什么区别?据我所知,malloc从堆中分配内存,就像HeapAlloc一样,对吧?

那么区别是什么呢?

谢谢!

c++ malloc winapi

58
推荐指数
4
解决办法
4万
查看次数

如何获取Windows上次重启的原因

我想知道什么是Windows API函数(如果存在),它提供有关上一次Windows重新启动源的信息.有三个主要可能的原因:

  1. 电脑在蓝屏上坠毁
  2. 用户或程序关闭/重新启动计算机
  3. 失去了力量

我可以越多越好.但是,我至少需要知道主要原因是什么.

我需要支持Windows Vista和Windows 7.

回答:

似乎没有直接的API来获取该信息.相反,我们必须收获Windows事件日志.系统重新引导信息位于事件查看器/ Windows日志/系统中.以下是事件ID提供的各种信息:

  • 6005:Windows启动
  • 6006:Windows关闭(正确)
  • 6008:Windows关闭(意外)

我还没有看到断电和系统崩溃之间的区别,但这是一个好的开始.

windows winapi reboot shutdown

57
推荐指数
3
解决办法
13万
查看次数

在WPF/C#中使用全局键盘钩子(WH_KEYBOARD_LL)

我从我在互联网上发现的代码中找到了自己的WH_KEYBOARD_LL帮助类:

将以下代码放到一些utils库中,让它成为YourUtils.cs:

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Windows.Input;

namespace MYCOMPANYHERE.WPF.KeyboardHelper
{
    public class KeyboardListener : IDisposable
    {
        private static IntPtr hookId = IntPtr.Zero;

        [MethodImpl(MethodImplOptions.NoInlining)]
        private IntPtr HookCallback(
            int nCode, IntPtr wParam, IntPtr lParam)
        {
            try
            {
                return HookCallbackInner(nCode, wParam, lParam);
            }
            catch
            {
                Console.WriteLine("There was some error somewhere...");
            }
            return InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam);
        }

        private IntPtr HookCallbackInner(int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0)
            {
                if (wParam == …
Run Code Online (Sandbox Code Playgroud)

c# wpf winapi

56
推荐指数
1
解决办法
5万
查看次数

有没有办法使用win API获取HRESULT值的字符串表示?

win API中是否有一个函数可用于提取HRESULT值的字符串表示形式?

问题是并非所有返回值都记录在MSDN中,例如,ExecuteInDefaultAppDomain()函数未记录为返回"0x80070002 - 系统找不到指定的文件."但是,确实如此!因此,我想知道是否有一个常用的功能.

c++ windows clr winapi hresult

56
推荐指数
3
解决办法
5万
查看次数

如何在C++中通过其名称获取进程句柄?

我正在尝试获取example.exe的进程句柄,所以我可以调用TerminateProcess它.我怎样才能做到这一点?请注意,它没有窗口,因此FindWindow无法工作.

c++ winapi process

55
推荐指数
4
解决办法
12万
查看次数

如何摆脱Python Tkinter根窗口?

你知道一种聪明的方式来隐藏或以任何其他方式摆脱出现的根窗口Tk()吗?我想只使用一个普通的对话框.

我应该跳过对话框并将所有组件放在根窗口中吗?是可能的还是可取的?还是有更聪明的解决方案?

python winapi tk-toolkit tkinter

55
推荐指数
4
解决办法
6万
查看次数

如何从进程ID获取主窗口句柄?

如何从进程ID 获取主窗口句柄?

我想把这个窗口带到前面.

它在"Process Explorer"中运行良好.

c++ windows winapi windows-7

55
推荐指数
4
解决办法
10万
查看次数

错误C2275:非法使用此类型作为表达式

从昨天开始,我一直面临着我的C项目的编译错误.项目本身就是创建一个可以完成一些任务的服务.

我不知道自昨天以来发生了什么变化,但今天早上,我的代码不能再编译了.

以下是我遇到的错误:

c:\path\main.c(56): error C2275: 'SERVICE_TABLE_ENTRY' : illegal use of this type as an expression
c:\program files\microsoft sdks\windows\v7.0a\include\winsvc.h(773) : see declaration of 'SERVICE_TABLE_ENTRY'
c:\path\main.c(56): error C2146: syntax error : missing ';' before identifier 'DispatchTable'
c:\path\main.c(56): error C2065: 'DispatchTable' : undeclared identifier
c:\path\main.c(56): error C2059: syntax error : ']'
c:\path\main.c(57): error C2065: 'DispatchTable' : undeclared identifier
c:\path\main.c(57): warning C4047: 'function' : 'const SERVICE_TABLE_ENTRYA *' differs in levels of indirection from 'int'
c:\path\main.c(57): warning C4024: 'StartServiceCtrlDispatcherA' : different types for formal …
Run Code Online (Sandbox Code Playgroud)

c service winapi compiler-errors visual-studio-2010

54
推荐指数
2
解决办法
7万
查看次数

如何在Windows上使线程睡眠时间小于一毫秒

在Windows上我遇到了一个我从未在Unix上遇到过的问题.这是如何使线程休眠不到一毫秒.在Unix上,您通常有许多选择(睡眠,睡眠和纳米睡眠)以满足您的需求.但是,在Windows上,只有Sleep具有毫秒级的粒度.

在Unix上,我可以使用select系统调用来创建一个非常简单的微秒睡眠:

int usleep(long usec)
{
    struct timeval tv;
    tv.tv_sec = usec/1000000L;
    tv.tv_usec = usec%1000000L;
    return select(0, 0, 0, 0, &tv);
}
Run Code Online (Sandbox Code Playgroud)

如何在Windows上实现相同的目标?

c++ windows winapi sleep

53
推荐指数
10
解决办法
8万
查看次数

Win32窗口所有者vs窗口父?

在Win32编程中,窗口的父窗口和窗口的所有者之间有什么区别?我以为我弄清楚了,然后我遇到了这段代码:

SetWindowLong(handle, GWL_HWNDPARENT, foo);
Run Code Online (Sandbox Code Playgroud)

这实际上设置了窗口的所有者,而不是父级 - 尽管使用了GWL_HWNDPARENT.父母/所有者这些术语是否可以互换,或者实际上是否存在差异?

winapi window parent owner

53
推荐指数
2
解决办法
3万
查看次数