BYTE *ZJ_SignMessage(const char *SenderMail,     // 发信人电子邮件地址
             const int  ReceiverNum,    // 收信人个数  char *ReceiverMail[],       // 收信人电子邮件地址(数组)  BYTE *pMessage,          // 需要进行签名的消息  DWORD cMessage,         // 签名消息的长度  DWORD *pcbSignedMessage, // 返回的签名后的消息长度  BOOL SignFlag             // 签名标志位,TRUE:单独签名                            // FALSE:签名加密同时进行
);假设dll名为safemail.dll 我在线等待。马上给分呀!!!

解决方案 »

  1.   

    function ZJ_SignMessage(const SenderMail:Pchar ;     
    // 发信人电子邮件地址
           const ReceiverNum:integer  ;    
    // 收信人个数  ReceiverMail:pchar ;       
    // 收信人电子邮件地址(数组)  
    pMessage:BYTE ;         
     // 需要进行签名的消息  cMessage:WORD ;         
    // 签名消息的长度  
    pcbSignedMessage: DWORD; 
    // 返回的签名后的消息长度
    SignFlag: BOOLean  ;            
    // 签名标志位,TRUE:BOOLean ;单独签名
     // FALSE:签名加密同时进行
    )
    大概是这样
      

  2.   

    function ZJ_SignMessage(const SenderMail:Pchar ;     
    // 发信人电子邮件地址
     const ReceiverNum:integer  ;    
    // 收信人个数  ReceiverMail:pchar ;       
    // 收信人电子邮件地址(数组)  
    pMessage:BYTE ;         
     // 需要进行签名的消息  cMessage:WORD ;         
    // 签名消息的长度  
    pcbSignedMessage: DWORD; 
    // 返回的签名后的消息长度
    SignFlag: BOOLean);大概是这样
      

  3.   

    大哥。谢谢马上给你分。能再回答一个问题吗??我这样调用有问题。取不到值,帮我看看吧!procedure TForm1.Button1Click(Sender: TObject);
    var
      fromaddress,pCh:pChar;
      rm:array of char;
      byteArray:array of byte;
      mess:Byte;
      messlen:DWORD;
      rmesslen:DWORD;
      mailnum,i:integer;
    begin
      messlen:=0;
      rmesslen:=0;
      pCh:=pChar('qdafdas');
      SetLength(byteArray, StrLen(pCh));
      for i := 0 to StrLen(pCh) do
      begin
        byteArray[i] := Byte((pch + i)^);
        //s := s + Char(byteArray[i]);
      end;
    StrCopy(fromaddress,'[email protected]');
    mailnum:=1;
    SetLength(rm, StrLen('[email protected]'));
    StrCopy(@rm,'[email protected]');
    strCopy(@mess,@byteArray);showmessage(fromaddress);
    ZJ_SignMessage(@fromaddress,mailnum,@rm,mess,messlen,rmesslen,true);
    end;
      

  4.   

    还有为什么不这样定义呢?pMessage:pBYTE ;         
     // 需要进行签名的消息  cMessage:DWORD ;