shellexecute(....,'mailto:[email protected]',...)

解决方案 »

  1.   

    同意“cpls(温柔一刀) ”的观点,另外还可以使用WinExecute API函数。
      

  2.   

    procedure TFormMainMenu.tbtnSelfMailClick(Sender: TObject);
    var Reg: TRegistry;
        sStr,sSys: String;
        Src: PChar;
        Dest: string;
    begin
      Reg := TRegistry.Create;
      Reg.RootKey := HKEY_CLASSES_ROOT;
      Reg.OpenKey('MailTo\DefaultIcon',True);
      sStr := Reg.ReadString('');
      Reg.CloseKey;
      Reg.Free;
      if sStr = '' then
      begin
        Application.MessageBox('请安装OutLook Express','系统提示',MB_OK+MB_IconInformation);
        Exit;
      end;
      sStr := Copy(sStr,1,Pos(',-',sStr)-1);
      if Pos('%\',sStr) > 0 then
      begin
        sSys := Copy(sStr,1,Pos('%\',sStr));
        sStr := Copy(sStr,Pos('%\',sStr)+1,Length(sStr));
        //
        Src := pChar(sSys);
        SetLength(Dest, 255);
        SetLength(Dest, ExpandEnvironmentStrings(Src, PChar(Dest), 255));
        Dest := TRIM(Dest);
        sStr := Dest + sStr;
      end;  
      ShellExecute(Handle,'Open',pChar(sStr),nil,nil,SW_SHOWNORMAL);
    end;
      

  3.   

    用winexec(.....),或shellexecute(.....)
    执行c:\Program Files\Outlook express\msimn.exe不就行了。当然这是默认安装路径的情况,其他情况到注册表里去找就可以了。
      

  4.   

    shellexecute(0,nil,'mailto:[email protected]',nil,nil,SW_SHOW)
    试一下,
    注意uses shellapi; 
      

  5.   

    uses shellapi;
    ShellExecute(handle,nil,pchar('mailto:[email protected]'),nil,nil,sw_shownormal);
    end;
      

  6.   

    uses ShellAPI;
    shellexecute(....,'mailto:[email protected]',...)
    就是只启动