c - 如何用C创建一个后台没有窗口的win32应用程序?

标签 c background explorer

该应用程序不需要任何窗口或控制台。如果可以删除控制台窗口或可以将其置于后台,则它可以是控制台应用程序。应用程序将执行一些简单的任务(例如清理垃圾文件)并退出。

  1. 如果可能的话,我希望应用程序不应该是 Windows 服务。

  2. 我希望应用程序可以在资源管理器窗口中双击启动并静默运行。

  3. 当应用程序运行时,我希望鼠标光标不要变成沙漏形状。也就是说,应用程序运行时不要打扰用户。只需运行并默默退出即可。

  4. 不需要在 Windows 启动或用户登录时运行它。

如果可能的话,我希望这可以用 C 语言完成。我该怎么办?

task_finished = 0;
CreateThread(NULL, 65535, task_thread, para, 0, NULL);

MSG msg;
while(!task_finished){
    while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
        if(task_finished)
            break;
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

最佳答案

IIRC,您只需编写一个不创建或显示窗口或控制台的 WinMain 函数即可做到这一点。如果您希望您的程序能够从其他程序发送或接收消息,兰伯特关于使用消息循环的回答将为您提供帮助,但如果您只是进行简单的后台处理,您需要的只是一个不生成窗口。

关于c - 如何用C创建一个后台没有窗口的win32应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600664/

相关文章:

c - 为什么 GNOME 不使用 C99?

c - 声明/寻址微芯片上的输出端口

html - 当我将 HTML 标记设置为 100% 高度时,我的内容消失了

c - 如何写入命名管道而不是等待读取管道

无法正确读取 C 中的 .exe 文件

iphone - iOS:处于非事件状态时断开连接?

css - CSS Like Box 上的白色背景

javascript - 从网页启动 Windows 文件资源管理器窗口

windows - 批量获取Explorer的 child

JavaScript:toLocaleTimeString() 在 Explorer 和 Chrome 中是不同的