在开发windows恶意插件检测及卸载的一个项目中,需要查找注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中的项,然后从所需要的子项中找出UninstallString键植项,然后编程运行其中的内容。但是有的时.exe文件带参数,如百度工具条UninstallString   对应的是C:\WINDOWS\system32\rundll32.exe C:\PROGRA~1\baidu\bar\BaiduBar.dll,Uninstall。我该怎么编程来实现这样带参数的.exe文件呢?(在VC++中)

解决方案 »

  1.   

    你研究一下WinMain的几个参数,或者MFC的CommandLine都是什么?
      

  2.   

    Performs an operation on a specified file.SyntaxHINSTANCE ShellExecute(          HWND hwnd,
        LPCTSTR lpOperation,
        LPCTSTR lpFile,
        LPCTSTR lpParameters,
        LPCTSTR lpDirectory,
        INT nShowCmd
    );
    Parametershwnd
    [in] Handle to the owner window used for displaying a user interface (UI) or error messages. This value can be NULL if the operation is not associated with a window.
    lpOperation
    [in] Pointer to a null-terminated string, referred to in this case as a verb, that specifies the action to be performed. The set of available verbs depends on the particular file or folder. Generally, the actions available from an object's shortcut menu are available verbs. For more information about verbs and their availability, see Object Verbs. See Extending Shortcut Menus for further discussion of shortcut menus. The following verbs are commonly used.
    edit
    Launches an editor and opens the document for editing. If lpFile is not a document file, the function will fail.
    explore
    Explores the folder specified by lpFile.
    find
    Initiates a search starting from the specified directory.
    open
    Opens the file specified by the lpFile parameter. The file can be an executable file, a document file, or a folder.
    print
    Prints the document file specified by lpFile. If lpFile is not a document file, the function will fail.
    NULL
    For systems prior to Microsoft Windows 2000, the default verb is used if it is valid and available in the registry. If not, the "open" verb is used.For Windows 2000 and later systems, the default verb is used if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry.lpFile
    [in] Pointer to a null-terminated string that specifies the file or object on which to execute the specified verb. To specify a Shell namespace object, pass the fully qualified parse name. Note that not all verbs are supported on all objects. For example, not all document types support the "print" verb.
    lpParameters
    [in] If the lpFile parameter specifies an executable file, lpParameters is a pointer to a null-terminated string that specifies the parameters to be passed to the application. The format of this string is determined by the verb that is to be invoked. If lpFile specifies a document file, lpParameters should be NULL.
    lpDirectory
    [in] Pointer to a null-terminated string that specifies the default directory.
    nShowCmd
    [in] Flags that specify how an application is to be displayed when it is opened. If lpFile specifies a document file, the flag is simply passed to the associated application. It is up to the application to decide how to handle it.
    SW_HIDE
    Hides the window and activates another window.
    SW_MAXIMIZE
    Maximizes the specified window.
    SW_MINIMIZE
    Minimizes the specified window and activates the next top-level window in the z-order.
    SW_RESTORE
    Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
    SW_SHOW
    Activates the window and displays it in its current size and position.
    SW_SHOWDEFAULT
    Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. An application should call ShowWindow with this flag to set the initial show state of its main window.
    SW_SHOWMAXIMIZED
    Activates the window and displays it as a maximized window.
    SW_SHOWMINIMIZED
    Activates the window and displays it as a minimized window.
    SW_SHOWMINNOACTIVE
    Displays the window as a minimized window. The active window remains active.
    SW_SHOWNA
    Displays the window in its current state. The active window remains active.
    SW_SHOWNOACTIVATE
    Displays a window in its most recent size and position. The active window remains active.
    SW_SHOWNORMAL
    Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
    Return ValueReturns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an int and compare it with the value 32 or one of the error codes below.
      

  3.   

    命令行参数,程序中ParseCommandLine() 来获得输入的参数,自己再解析等
      

  4.   

    ShellExecute函数里
    LPCTSTR lpFile,   程序
    LPCTSTR lpParameters,  程序参数