Announcement

Collapse
No announcement yet.

WinAPI32 Syntax And Parameters

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • WinAPI32 Syntax And Parameters

    Hi PB folks,

    can anybody tell me where to find documentation about the exact
    Prameters and syntax for the WINAPI command ShellExcecute ???
    Or better for each of the DLLs ?
    TIA Karlheinz



    ------------------

  • #2
    Subscribe to Microsoft MSDN Library. They have had an offer
    for one year free subsription....
    Code:
    ShellExecute
    Performs an operation on a specified file. 
    
    HINSTANCE ShellExecute(
        HWND hwnd, 
        LPCTSTR lpVerb,
        LPCTSTR lpFile, 
        LPCTSTR lpParameters, 
        LPCTSTR lpDirectory,
        INT nShowCmd
    );
    
    Parameters
    hwnd 
    Handle to a parent window. This window receives any message boxes that an application produces. 
    For example, an application may report an error by producing a message box. 
    lpVerb 
    A string, referred to 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
    context menu are available verbs. 
    For more information about verbs and their availability, see Object Verbs. 
    See Extending Context Menus for further discussion of context menus. 
    The following verbs are commonly used: 
    Verb       Description 
    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. 
    properties Displays the file or folder's properties. 
       
    If you set this paramater to NULL:
       For systems prior to 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 first verb listed in the registry. 
       
    lpFile 
    Address of 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 
    If the lpFile parameter specifies an executable file, lpParameters is an address 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 
    Address of a null-terminated string that specifies the default directory. 
       
    nShowCmd 
    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 Values
    Returns 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 Microsoft® 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 integer and compare it with the value 32 or one of the error codes below.
    
    0                     The operating system is out of memory or resources. 
    ERROR_FILE_NOT_FOUND  The specified file was not found. 
    ERROR_PATH_NOT_FOUND  The specified path was not found. 
    ERROR_BAD_FORMAT      The .exe file is invalid (non-Win32® .exe or error in .exe image). 
    SE_ERR_ACCESSDENIED   The operating system denied access to the specified file.  
    SE_ERR_ASSOCINCOMPLETE  The file name association is incomplete or invalid. 
    SE_ERR_DDEBUSY        The DDE transaction could not be completed because other DDE transactions were 
                          being processed. 
    SE_ERR_DDEFAIL        The DDE transaction failed. 
    SE_ERR_DDETIMEOUT     The DDE transaction could not be completed because the request timed out. 
    SE_ERR_DLLNOTFOUND    The specified dynamic-link library was not found.  
    SE_ERR_FNF            The specified file was not found.  
    SE_ERR_NOASSOC        There is no application associated with the given file name extension. 
                          This error will also be returned if you attempt to print a file that is not printable. 
    SE_ERR_OOM            There was not enough memory to complete the operation. 
    SE_ERR_PNF            The specified path was not found. 
    SE_ERR_SHARE          A sharing violation occurred. 
    
    Remarks
    This method allows you to execute any commands in a folder's context menu or stored in the registry. 
    
    To open a folder, use either of the following calls: 
    
    ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
    
    or 
    
    ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
    
    To explore a folder, use: 
    
    ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
    
    To launch the shell's Find utility for a directory, use:
    
    ShellExecute(handle, "find", path_to_folder, NULL, NULL, 0);
    
    If lpOperation is NULL, the function opens the file specified by lpFile. 
    If lpOperation is "open" or "explore", the function will attempt to open or explore the folder. 
    
    With multiple monitors, if you specify the window handle and set lpOperation to "Properties", 
    any windows created by ShellExecute may not appear in the correct position. 
    
    To obtain information about the application that is launched as a result of calling ShellExecute, use ShellExecuteEx. 
    
    See Also
    IShellExecuteHook
    
    Requirements 
      Windows NT/2000: Requires Windows NT 3.1 or later. 
      Windows 95/98: Requires Windows 95 or later. 
      Header: Declared in shellapi.h. 
      Import Library: shell32.lib.
    ------------------
    Fred
    mailto:[email protected][email protected]</A>
    http://www.oxenby.se



    [This message has been edited by Fred Oxenby (edited August 12, 2000).]
    Fred
    mailto:[email protected][email protected]</A>
    http://www.oxenby.se

    Comment


    • #3
      Thanks for your reply.

      In the meantime I found out that I have the same problem
      as Gerd Steeger on parameters for OUTLOOK.

      The problem is Mailto: protocol from MS.It does not have an attachment
      parameter.
      I am try to explore on MAPI mail with attachmen in VB.

      Karlheinz Nester

      PS.just got back from Sweden.Nice coutry.Nice new bridge
      Sweden - Danmark.

      ------------------

      Comment


      • #4
        Thank you..
        I have been working for a german company (1980-1995)BASF (does that ring a bell?)
        Have spent many months in YOUR beutiful city,
        at COMPAREX Gmbh headquarter at Gottlieb-Daimler-Straße 10.
        15 nice years visiting 'Süd-Deutche WeinStrasse'



        ------------------
        Fred
        mailto:[email protected][email protected]</A>
        http://www.oxenby.se

        Fred
        mailto:[email protected][email protected]</A>
        http://www.oxenby.se

        Comment


        • #5
          Karlheinz --
          Using PB it's enough easy to send eMails with attachments directly using TCP/IP
          (somewhere on BBS there are Dave's and Don Dickinson samples).
          To retrieve - a little difficult (RFC is too wide).
          Anyway, as I remember, there is Borje's sample.

          ------------------

          Comment


          • #6
            Well, this is not Powerbasic code but perhaps answer your question

            Code:
            Handling File Attachments
            You can add file attachments to outgoing messages using the file attachment properties. 
            These properties are listed in the following table:
            --
            Property           Description 
            AttachmentCount    Returns the total number of attachments associated with the currently indexed message. 
            AttachmentIndex    Sets the currently indexed attachment. 
            AttachmentName     Specifies the name of the currently indexed attachment file. 
            AttachmentPathName Specifies the full path name of the currently indexed attachment. 
            AttachmentPosition Specifies the position of the currently indexed attachment within the message body. 
            AttachmentType     Specifies the type of the currently indexed file attachment. 
            --
            To add an attachment to an outgoing message, use the AttachmentPathName property to specify 
            the name and path of the file. For example:
            '---Add attachment--------
              mpmMessage.AttachmentPathName = "c:\Status\Report.doc"
            --
            If the path name is incorrect or empty, an error will be generated.
            Simply specifying the AttachmentPathName property will send the attachment with the message, 
            use the name of the file to display in the message body, and position the attachment at the beginning 
            of the message.
            --
            The AttachmentName property can be used to specify a different name for the attached file. 
            If this property isn't set, the actual name of the file will be displayed in the message body.
            --
            The AttachmentPosition property is used to position the attachment within the message body. 
            By default, the value is "0" and the attachment is located at the beginning of the message body. 
            To position the attachment at the end of the message, count the number of characters in the message body. 
            For example, in a message body that is five characters long, you could place an attachment at the 
            end of the message by setting the value to 4. (The message body occupies character positions 0 to 4).
            --
            Two attachments can't be placed in the same position within the same message. You also can't place 
            an attachment equal to or beyond the end of the message body. You can append an extra space or 
            a vbCrLf character to the end of the message body and then set the AttachmentPosition property 
            to one character less than the length of the MsgNoteText property.
            --
            ------------------
            Fred
            mailto:[email protected][email protected]</A>
            http://www.oxenby.se

            Fred
            mailto:[email protected][email protected]</A>
            http://www.oxenby.se

            Comment


            • #7
              Hi Fred,

              the problem is really the mailto: protocol.
              Some literature mention the parameter &attach.
              This parameter is not mentioned by Microsoft.
              So the question is: is it Browser dependent ??

              Or would it be better to use the MAPI protocol ?

              Thanks for your reply.Im digging deeper the next days.

              Regards Karlheinz

              ------------------

              Comment

              Working...
              X