精华内容
下载资源
问答
  • Windows系统进程详解

    2010-06-21 12:18:32
    这个进程并不是像你想象的那样是作为一个重要的进程运行在windows中,你可以从任务管理器中停掉它,或者重新启动。 通常不会对系统产生什么负面影响。 taskmagr.exe 这个进程就是任务管理器。 System Idle ...
  • 使用此处的信息(堆栈交换),我能够从外部进程列表视图中读取Windows用于存储此信息的图标名称和位置,但是在使用LVM_SETITEMPOSITION设置新位置(或恢复位置)时失败.所有图标最终都在桌面上的相同位置. ‘自动排列’和...

    我正在尝试编写一个python例程来保存和恢复桌面图标位置.我在Windows 7 x64上使用32位python 2.7.使用此处的信息(堆栈交换),我能够从外部进程列表视图中读取Windows用于存储此信息的图标名称和位置,但是在使用LVM_SETITEMPOSITION设置新位置(或恢复位置)时失败.所有图标最终都在桌面上的相同位置. ‘自动排列’和’对齐网格’已关闭.相关代码是最底层的.警告:如果您运行此代码,您的所有图标都将堆成一堆:(

    import ctypes

    class LVITEMW(ctypes.Structure):

    _fields_ = [

    ('mask', ctypes.c_uint32),

    ('iItem', ctypes.c_int32),

    ('iSubItem', ctypes.c_int32),

    ('state', ctypes.c_uint32),

    ('stateMask', ctypes.c_uint32),

    ('pszText', ctypes.c_uint64),

    ('cchTextMax', ctypes.c_int32),

    ('iImage', ctypes.c_int32),

    ('lParam', ctypes.c_uint64), # On 32 bit should be c_long

    ('iIndent',ctypes.c_int32),

    ('iGroupId', ctypes.c_int32),

    ('cColumns', ctypes.c_uint32),

    ('puColumns', ctypes.c_uint64),

    ('piColFmt', ctypes.c_int64),

    ('iGroup', ctypes.c_int32),

    ]

    class POINT(ctypes.Structure):

    _fields_ = [('x', ctypes.c_int), ('y', ctypes.c_int)]

    def icon_save_restore(savedicons=None, restore=False):

    import struct, commctrl, win32gui, win32con, win32api

    dthwnd = win32gui.FindWindow(None, 'Program Manager')

    ukhwnd = win32gui.GetWindow(dthwnd, win32con.GW_CHILD)

    slvhwnd = win32gui.GetWindow(ukhwnd, win32con.GW_CHILD)

    pid = ctypes.create_string_buffer(4)

    p_pid = ctypes.addressof(pid)

    ctypes.windll.user32.GetWindowThreadProcessId(slvhwnd, p_pid)

    hProcHnd = ctypes.windll.kernel32.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, struct.unpack("i",pid)[0])

    pBuffertxt = ctypes.windll.kernel32.VirtualAllocEx(hProcHnd, 0, 4096, win32con.MEM_RESERVE|win32con.MEM_COMMIT, win32con.PAGE_READWRITE)

    copied = ctypes.create_string_buffer(4)

    p_copied = ctypes.addressof(copied)

    lvitem = LVITEMW()

    lvitem.mask = ctypes.c_uint32(commctrl.LVIF_TEXT)

    lvitem.pszText = ctypes.c_uint64(pBuffertxt)

    lvitem.cchTextMax = ctypes.c_int32(4096)

    lvitem.iSubItem = ctypes.c_int32(0)

    pLVI = ctypes.windll.kernel32.VirtualAllocEx(hProcHnd, 0, 4096, win32con.MEM_RESERVE| win32con.MEM_COMMIT, win32con.PAGE_READWRITE)

    win32api.SetLastError(0)

    ctypes.windll.kernel32.WriteProcessMemory(hProcHnd, pLVI, ctypes.addressof(lvitem), ctypes.sizeof(lvitem), p_copied)

    num_items = win32gui.SendMessage(slvhwnd, commctrl.LVM_GETITEMCOUNT)

    if restore is False:

    p = POINT()

    pBufferpnt = ctypes.windll.kernel32.VirtualAllocEx(hProcHnd, 0, ctypes.sizeof(p), win32con.MEM_RESERVE|win32con.MEM_COMMIT, win32con.PAGE_READWRITE)

    icons = {}

    for i in xrange(num_items):

    # Get icon text

    win32gui.SendMessage(slvhwnd, commctrl.LVM_GETITEMTEXT, i, pLVI)

    target_bufftxt = ctypes.create_string_buffer(4096)

    ctypes.windll.kernel32.ReadProcessMemory(hProcHnd, pBuffertxt, ctypes.addressof(target_bufftxt), 4096, p_copied)

    key = target_bufftxt.value

    # Get icon position

    win32api.SendMessage(slvhwnd, commctrl.LVM_GETITEMPOSITION, i, pBufferpnt)

    p = POINT()

    ctypes.windll.kernel32.ReadProcessMemory(hProcHnd, pBufferpnt, ctypes.addressof(p), ctypes.sizeof(p), p_copied)

    icons[key] = (i,p)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pLVI, 0, win32con.MEM_RELEASE)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pBuffertxt, 0, win32con.MEM_RELEASE)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pBufferpnt, 0, win32con.MEM_RELEASE)

    win32api.CloseHandle(hProcHnd)

    return icons

    else: # RESTORE ICON POSITIONS PROBLEM IS HERE SOMEWHERE!!!

    win32gui.SendMessage(slvhwnd, win32con.WM_SETREDRAW, 0, 0)

    for i in xrange(num_items):

    # Get icon text

    win32gui.SendMessage(slvhwnd, commctrl.LVM_GETITEMTEXT, i, pLVI)

    target_bufftxt = ctypes.create_string_buffer(4096)

    ctypes.windll.kernel32.ReadProcessMemory(hProcHnd, pBuffertxt, ctypes.addressof(target_bufftxt), 4096, p_copied)

    key = target_bufftxt.value

    if key in savedicons.keys():

    # Set icon position

    p = savedicons[key][1] # p is ctypes POINT

    p_lng = point_to_long(p) # explicitly convert to HIWORD/LOWORD and c_long

    # Reserve space for input variable in foreign process and get pointer to it the that memory space

    pBufferpnt = ctypes.windll.kernel32.VirtualAllocEx(hProcHnd, 0, ctypes.sizeof(p_lng), win32con.MEM_RESERVE|win32con.MEM_COMMIT, win32con.PAGE_READWRITE)

    # Write the desired coordinates in to the space just created

    ret = ctypes.windll.kernel32.WriteProcessMemory(hProcHnd, pBufferpnt, ctypes.addressof(p_lng), ctypes.sizeof(p_lng), p_copied)

    if ret == 0:

    raise WindowsError

    # Send the message to change the position for that item's index and the pointer to the new position

    ret = win32gui.SendMessage(slvhwnd, commctrl.LVM_SETITEMPOSITION, i, pBufferpnt)

    if ret == 0:

    raise WindowsError

    # Release the reserved memory for the variable (I recognize that I probably don't need to aLloc/free this within the loop)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pBufferpnt, 0, win32con.MEM_RELEASE)

    win32gui.SendMessage(slvhwnd, win32con.WM_SETREDRAW, 1, 0)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pLVI, 0, win32con.MEM_RELEASE)

    ctypes.windll.kernel32.VirtualFreeEx(hProcHnd, pBuffertxt, 0, win32con.MEM_RELEASE)

    win32api.CloseHandle(hProcHnd)

    return None

    def point_to_long(p):

    ret = (p.y * 0x10000) + (p.x & 0xFFFF)

    return ctypes.c_long(ret)

    if __name__ == '__main__':

    mysavedicons = icon_save_restore(restore=False)

    icon_save_restore(mysavedicons, restore=True)

    我认为可能存在以下问题:1)与32位和64位内存地址空间有关,但是我编写LVITEM结构或读取图标文本的其他组件工作正常或2)存在一些问题我正在转换坐标信息或为GETITEMPOSITION调用SendMessage.任何见解或帮助将不胜感激.

    展开全文
  • (1)HHOOK是全局唯一的,可以跨进程使用 (2)当创建钩子指定的函数第一次执行的时候,会创建一个线程 (3)当一个线程调用GetMessage的时候会转换为GUI线程,会有一个对应的消息队列,可以通过这个消息队列来...

    (1)HHOOK是全局唯一的,可以跨进程使用

    (2)当创建钩子指定的函数第一次执行的时候,会创建一个线程

    (3)当一个线程调用GetMessage的时候会转换为GUI线程,会有一个对应的消息队列,可以通过这个消息队列来传递我们的指令

    (4)往某一个指定线程发送消息用PostThreadMessage

    (5)当卸载钩子的时候,要确保我们在钩子函数中创建的消息退出,因为卸载钩子会导致DLL卸载,然后如果线程没有结束,会导致违规访问。可以通过消息队列将我们创建的Id传给我们的线程,然后用OpenThread打开对应的句柄,然后调用WaitForSingleObject

    (6)由于一个DLL被映射到不同地址空间会有写时复制,导致进程之间数据共享困难,可以通过共享段。

    (7)在Realse模式下编译运行

    该项目主要有一个exe和一个DLL,这个DLL中有设置钩子以及对应的钩子函数。

    先看DISPLib.DLL的实现

    DISPLib.h代码:

    #pragma once
    
    #define MSG_INJ_SAVE_OK 1232
    #define MSG_INJ_OK		1233
    #define MSG_INJ_SAVE	1234
    #define MSG_INJ_EXIT	1235
    
    #ifdef DISPLIBAPI
    #define DISPLIBAPI extern "C" __declspec(dllexport)
    #else
    #define DISPLIBAPI extern "C" __declspec(dllimport)
    #endif // DEBUG
    
    DISPLIBAPI BOOL SetDIPSHook(DWORD dwThreadId);

    DISPLib.cpp代码:

    #include "pch.h"
    #include <windowsx.h>
    #include <CommCtrl.h>
    #include <string>
    #include <sstream>
    #include <fstream>
    
    #include "DIPSLib.h"
    
    LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam);
    
    DWORD WINAPI ThreadFunc(LPVOID);
    
    void SaveListViewItemPosition(HWND hWndLV);
    
    #pragma data_seg("Shared")
    HHOOK g_hHook = NULL;
    DWORD g_dwThreadIdDIPS = 0;
    #pragma data_seg()
    
    #pragma comment(linker,"/Section:Shared,rws")
    
    HINSTANCE g_hInstDll = NULL;
    
    BOOL APIENTRY DllMain(HMODULE hModule,
        DWORD  ul_reason_for_call,
        LPVOID lpReserved
    )
    {
        switch (ul_reason_for_call)
        {
        case DLL_PROCESS_ATTACH:
        {
            //保存当前地址空间中DLL的基址
            g_hInstDll = hModule;
            break;
        }
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
        }
        return TRUE;
    }
    
    BOOL WINAPI SetDIPSHook(DWORD dwThreadId)
    {
        BOOL bOk = FALSE;
    
        if (dwThreadId > 0)
        {
            if (g_hHook != NULL)
                return FALSE;
    
            //记录当前的线程ID
            g_dwThreadIdDIPS = GetCurrentThreadId();
    
            //向远程线程设置挂钩
            g_hHook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, g_hInstDll, dwThreadId);
    
            bOk = (g_hHook != NULL);
    
            if (bOk)
            {
                bOk = PostThreadMessage(dwThreadId, WM_NULL, 0, 0);
            }
        }
        else
        {
            if (g_hHook == NULL)
                return FALSE;
    
            bOk = UnhookWindowsHookEx(g_hHook);
        }
    
        return bOk;
    }
    
    LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
        static BOOL bCrearteThreadSuccess = TRUE;
    
        if (bCrearteThreadSuccess)
        {
            HANDLE hThreadHndle = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
            if (hThreadHndle != NULL)
            {
                bCrearteThreadSuccess = FALSE;
                CloseHandle(hThreadHndle);
            }
        }
       
        return CallNextHookEx(g_hHook, nCode, wParam, lParam);
    }
    
    void SaveListViewItemPosition(HWND hWndLV)
    {
        int nMaxItems = ListView_GetItemCount(hWndLV);
        
        std::wofstream outFile;
        outFile.open("D:/DesktopIconPosition.txt", std::ios::out);
        if (outFile.good())
        {
            outFile.imbue(std::locale("chs"));
    
            outFile << L"Item Count:" << nMaxItems << std::endl;
    
            for (int i = 0; i < nMaxItems; i++)
            {
                TCHAR szName[MAX_PATH] = { 0 };
                ListView_GetItemText(hWndLV, i, 0, szName, _countof(szName));
    
                POINT pt;
                ListView_GetItemPosition(hWndLV, i, &pt);
    
                outFile << szName << L": x =" << pt.x << L" | y =" << pt.y << std::endl;
            }
    
            outFile.close();
        }
    }
    
    DWORD WINAPI ThreadFunc(LPVOID)
    {
        DWORD dwCurThreadId = GetCurrentThreadId();
    
        //个DISP发送一个消息,表明线程创建成功
        //如果目标线程还没有对应的消息队列,则发送失败
        while (!PostThreadMessage(g_dwThreadIdDIPS, MSG_INJ_OK, (WPARAM)dwCurThreadId, 0))
        {
            Sleep(1000);
        }
    
        MSG msg;
        while (GetMessage(&msg, nullptr, 0, 0))
        {
            if (msg.message == MSG_INJ_SAVE)
            {
                if (msg.lParam)
                {
                    SaveListViewItemPosition((HWND)msg.wParam);
                    break;
                }
            }
        }
        return 0;
    }

    #include "pch.h"中就两行代码:

    #define WIN32_LEAN_AND_MEAN             // 从 Windows 头文件中排除极少使用的内容
    // Windows 头文件
    #include <windows.h>

    DISP.exe实现:

    DISP.cpp代码:

    #include "framework.h"
    #include "..\\DISPLib\DIPSLib.h"
    #include <windowsx.h>
    #include <string>
    #include <sstream>
    #include <iostream>
    #include <fstream>
    
    
    int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
                         _In_opt_ HINSTANCE hPrevInstance,
                         _In_ LPWSTR    lpCmdLine,
                         _In_ int       nCmdShow)
    {
        UNREFERENCED_PARAMETER(hPrevInstance);
        UNREFERENCED_PARAMETER(lpCmdLine);
    
    
        HWND hWndLV = GetFirstChild(GetFirstChild(FindWindow(TEXT("ProgMan"), NULL)));
    
        if (!IsWindow(hWndLV))
        {
            MessageBox(NULL, L"hWndLV is not Windows", L"Info", MB_OK);
            return 1;
        }
    
        if (!SetDIPSHook(GetWindowThreadProcessId(hWndLV, NULL)))
        {
            MessageBox(NULL, L"Set Hook Failure", L"Info", MB_OK);
            return 1;
        }
        DWORD dwInjThreadId = 0;
    
        MSG msg;
        while (GetMessage(&msg, nullptr, 0, 0))
        {
            if (msg.message == MSG_INJ_OK)
            {
                dwInjThreadId = (DWORD)msg.wParam;
                while (!PostThreadMessage(dwInjThreadId, MSG_INJ_SAVE, (WPARAM)hWndLV, 1))
                {
                    Sleep(1000);
                }
            }
            //这个确认逻辑可以不要,后面的WaitForSingleObject更加保险,但是考虑到OpenThread可能失败,加了这一个保险,虽然这个逻辑不能保证卸载钩子时线程肯定退出了,但是大部分是ok的
            else if(msg.message == MSG_INJ_SAVE_OK)
            {
                break;
            }
        }
    
        HANDLE hInjThreadHandle = OpenThread(THREAD_ALL_ACCESS, FALSE, dwInjThreadId);
    
        DWORD wRet = WaitForSingleObject(hInjThreadHandle,INFINITE);
    
        CloseHandle(hInjThreadHandle);
        
        BOOL bOk = SetDIPSHook(0);
    
        if (bOk && wRet == WAIT_OBJECT_0)
        {
            MessageBox(NULL, L"钩子正常卸载", L"Info", MB_OK);
        }
        return 0;
    }

    #include "framework.h"中的代码如下:

    #include "targetver.h"
    #define WIN32_LEAN_AND_MEAN             // 从 Windows 头文件中排除极少使用的内容
    // Windows 头文件
    #include <windows.h>
    // C 运行时头文件
    #include <stdlib.h>
    #include <malloc.h>
    #include <memory.h>
    #include <tchar.h>

     

    展开全文
  • windows远程桌面占用CPU的处理办法

    千次阅读 2020-02-19 14:33:39
    当用户退出连接后,在工作站上会出现一个“桌面窗口管理器”、“dwm.exe”的进程名称,其占用CPU达20% 当有多个用户断开远程桌面时,CPU占用率就达到100%,很快就出现死机。 在网上查到很多办法,都没有解决掉,最后...

    由于工作的原因,需要多人通过远程桌面RDP,连接到windows工作站上进行操作。
    当用户退出连接后,在工作站上会出现一个“桌面窗口管理器”、“dwm.exe”的进程名称,其占用CPU达20%
    在这里插入图片描述在这里插入图片描述
    当有多个用户断开远程桌面时,CPU占用率就达到100%,很快就出现死机。
    在网上查到很多办法,都没有解决掉,最后在微软官方找到一个办法,通过修改注册表可以解决掉该问题,如下:
    reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v fEnableWddmDriver /t reg_dword /d 0 /f
    以上分享,希望能帮到大家。

    展开全文
  • 一、安装 1) 系统:XP、win 7、win 8、win 10 2)安全类型软件:360杀毒、360...6)安装时异常中断:手动关闭安装程序、磁盘空间不足、断电、结束安装进程、第三方软件关闭安装程序等 7)多程序同时安装:同软件...

    一、安装

    1) 系统:XP、win 7、win 8、win 10

    2)安全类型软件:360杀毒、360安全卫士、金山毒霸、百度杀毒、腾讯电脑管家等。

    3)同类型软件兼容

    4)用户名称:中文用户、英文用户(ps:中文用户容易出现问题)

    5)权限:管理员、标准用户

    6)安装时异常中断:手动关闭安装程序、磁盘空间不足、断电、结束安装进程、第三方软件关闭安装程序等

    7)多程序同时安装:同软件同时安装、不同软件同时安装

    8)是否需要.net支持:XP、win 7需手动安装.net,win 8、win 10自带.net

    9)覆盖安装:

        a.已安装客户端版本:低于当前版本、同版本、高于当前版本

        b.其他同(1)-(8)

    二、卸载

    1)卸载方式:控制面板卸载、开始菜单卸载、第三方工具卸载、删除安装文件

    2)卸载时客户端状态:未运行、正在运行

    3)卸载时异常中断:断电、手动取消卸载

    4)卸载完成:检查注册表、安装路径、桌面快捷方式是否被删除

    5)卸载后重新安装

    6)其他同安装(1)、(4)

    三、升级

    1)升级弹框

    2)网络环境:wifi、弱网、断网

    3)静默升级:

    4)升级完成:检查注册表、安装文件是否更新成功,程序是否运行正常

    PS:

       待完善~~~~~~~~~~~~~~~~

    转载于:https://www.cnblogs.com/ydnice/p/7122603.html

    展开全文
  • 不注入 枚举桌面图标名称与坐标

    千次阅读 2011-02-17 22:06:00
    看到核心编程22章的 dips 线程钩子注入dll 保存与获取图标名称及坐标   想写个小程序直接枚举图标名称与坐标 没想到 LVM_GETITEMTEXT 的 LVITEM参数必须是listview对应进程的内存地址才行 ...
  • 桌面计算机/此电脑(Win10名称)右键打开管理,或 Win+R 输入 compmgmt.msc 打开计算机管理 在事件查看器下打开 Windows 日志里面的应用程序,找到来源为 redis 的日志,双击打开一条: # 不出意外内容如下 sy.....
  • 错误进程 ID: 0x830 错误应用程序启动时间: 0x01d2a14a664f59dd 错误应用程序路径: C:\Windows\explorer.exe 错误模块路径: C:\Windows\System32\framedynos.dll 报告 ID: 4cf7255e-965e-4623-a6d5-1645eed5bc3f...
  • 桌面闪动,原因,及解决方法: 原因,因为打开电脑后,资源管理器未正常启动导致CPU,磁盘等读写过高,且不断重复的启动,导致电脑占用率过高,一般这种毛病很常见,一般通用的方法是重启,等待重启完成后,...名称...
  • 强力进程管理工具

    2012-10-21 15:31:55
    简介:FxProcessTool是一个强大的Windows进程查看管理工具,可查看、控制和结束所有进程。程序可以列举出进程的各项详细信息,可以检测是否存在隐藏进程或伪装程序,是目前较为完备的进程和任务管理工具之一。 具体...
  • linux 杀死进程

    2020-07-08 10:54:48
    2、Linux桌面有一个工具system monitor,它的工作方式类似于Windows任务管理器,打开系统监视器工具查看运行进程列表,可以强制关闭它们。 3、killall命令就像pkill的,但有点更精确。 它会杀了具有特定名称的所有...
  • Cnario Player正常工作期间, 更改了电脑的Windows系统计算机名称(不是登录Windows的用户名), 重启后, 新计算机名生效. 此时Cnario自动启动, 但没有进入播放画面, 可以看到Cnario Player的软件界面, 界面中的播放按钮...
  • linux链接虚拟桌面的vnc的密码是:12345678linux账户名称zwk,密码zwk使用vncviewer.exe文件设置linux端的图形用户界面使用Xftp...-注意中间的字符是x,数字表示分辨率杀死虚拟桌面进程:注销vnc:vncserver -- vn...
  • 桌面图标没了

    2013-11-16 14:57:04
    4、如果故障依旧,可能在你的C:\Windows目录中的“explorer.exe”进程文件受损,请到网上下载“explorer.exe”进程文件搜索,下载后,将它放到你的C:\Windows目录中(如果你的电脑无法下载请用别的电脑下载或在别的...
  • C# 守护进程的服务

    2015-02-26 11:34:35
    appname 填写进程运行时的名称,不要加exe哦。 filepath 程序的绝对路径 拷贝 WatchProcessService.config 到 C:\WINDOWS\system32,因为服务运行时会默认为该目录 3、运行install.bat文件 4、打开服务 开始 - ...
  • 内容索引:VC/C++源码,系统相关,图标 VC++ 枚举桌面上所有图标的标题,代码示范了如何使用...用Windows的消息获得图标的名称。提醒一下:运行本程序前请清理一下你的桌面图标,要不然获取到的东西太可怕了。。。。。。
  • 你把任务管理器打开(打开方法:CTRL+ALT+DEL)看看进程里面有没有explorer.exe如果没有的话,那你点左上方的“文件”--“新建任务”,把这个进程添加进去就OK了!...进程名称: Microsoft Windows Explorer 进程类别...
  • 使用cmd结束进程的3种方法

    千次阅读 2019-05-29 16:01:21
    点击电脑桌面的左下角“开始”菜单或 windows键+R键输入cmd回车; 输入tasklist回车以显示进程,如图: 重要:同一个应用打开关闭再打开,pid会变化,所以每次操作前请获得最新的tasklist,确保进程名和pid对应正确...
  • 因为任务管理也是一个窗体也就是说它中也是一个独立进程,所以只需要强制性关闭这个进程即可以关闭任务管理器了,任务管理的进程名称为“taskmgr”,在程序用一个单独的计时器,每100毫秒遍历一次系统开启的所有的...
  • 本程序显示桌面所有图标的标题。代码示范了如何使用VirtualAlloc(),WriteProcessMemory() 和 ReadProcessMemory() 在不同的进程中分配内存。用Windows的消息获得图标的名称
  • Windows桌面上有一个文件夹,删除半天删除不了,然后使用360的强制删除,进行粉碎,还是删除不了。在任务管理器中也不知道进程名称。 解决方法: 打开任务管理器,然后打开性能,里面有一个资源监视器 再打开资源...
  • 飞雪桌面日历 7.6绿色

    2014-04-08 18:29:32
    Vista和Windows7系统已集成.NET2.0可以直接运行本软件,如需在Windows XP/2003系统运行,必需安装微软公司的.NET2.0框架。 (.NET2.0与本软件的安装不分先后,且安装后不需要重启系统) 下载 NET Framework SDK v2.0...
  • Delphi 创建高权限进程

    2010-05-30 13:08:12
    //获取进程的可执行文件名称 if AnsiCompareText(Trim(s), EXE_Name)=0 then//如果是HL程序名,表示找到游戏进程。 begin Result := ProcessStruct.th32ProcessID;//保留游戏进程句柄 break; end; ok := Process32...
  • 因为任务管理也是一个窗体也就是说它中也是一个独立进程,所以只需要强制性关闭这个进程即可以关闭任务管理器了,任务管理的进程名称为“taskmgr”,在程序用一个单独的计时器,每100毫秒遍历一次系统开启的所有的...
  • 此完全可配置程序会自动生成桌面背景,其中包含有关系统的 IP 地址、计算机名称、网络适配器及更多内容的重要信息。 BlueScreen 此屏幕保护程序不仅精确模拟“蓝屏”,而且也模拟重新启动(完成 CHKDSK),并可在 ...
  • 此款软件界面下边有两个小标志,一个是“放大镜”,这个东西是帮助我们查看窗口名称和窗口类型...这个可以移动任意一个窗口,不管是自己现在的软件界面还是window桌面、还是windows下的每一个窗口,都可以随意移动的!
  • 最最关键问题是除了启动影子进程以外,还会将影子进程写入注册表的启动项中,等你下次启动 Windows 时系统就会自动运行该影子进程。 根据我的经验,这些影子进程启动后会极大的耗用系统资源,使系统启动速度变慢、...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 233
精华内容 93
关键字:

windows桌面进程名称