• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        取得某一dll所有輸出函數名

        取得某一dll所有輸出函數名

        更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

        在uses里加上ImageHlp

        procedure ListDLLFunctions(DLLName: String; List: TStrings);
        type
          chararr = array [0..$FFFFFF] of Char;
          var
          H: THandle;
          I,
          fc: integer;
          st: string;
          arr: Pointer;
          ImageDebugInformation: PImageDebugInformation;
        begin
          List.Clear;
          DLLName := ExpandFileName(DLLName);
          if FileExists(DLLName) then
          begin
            H := CreateFile(PChar(DLLName), GENERIC_READ, FILE_SHARE_READ or
              FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
            if H<>INVALID_HANDLE_VALUE then
              try
                ImageDebugInformation := MapDebugInformation(H, PChar(DLLName), nil, 0);
                if ImageDebugInformation<>nil then
                  try
                    arr := ImageDebugInformation^.ExportedNames;
                    fc := 0;
                    for I := 0 to ImageDebugInformation^.ExportedNamesSize - 1 do
                      if chararr(arr^)[I]=#0 then
                      begin
                        st := PChar(@chararr(arr^)[fc]);
                        if Length(st)>0 then
                          List.Add(st);
                        if (I>0) and (chararr(arr^)[I-1]=#0) then
                          Break;
                        fc := I + 1
                      end
                  finally
                    UnmapDebugInformation(ImageDebugInformation)
                  end
              finally
                CloseHandle(H)
              end
          end
        end;

        procedure TForm1.Button1Click(Sender: TObject);
        var
          List: TStrings;
          I: integer;
          S: String;

        begin
          List := TStringList.Create;

          ListDLLFunctions('c:\windows\system\Abcsda.dll', List);
          showmessage(inttostr(list.count));
          S := 'List of functions';
          for I := 0 to List.Count - 1 do
            S := S + #13#10 + List[I];
          ShowMessage(S);

          List.Free
        end;

        //rock
        //轉載請保留此信息

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费人成毛片动漫在线播放| 久久久久久久久无码精品亚洲日韩| a在线视频免费观看在线视频三区| 天天拍拍天天爽免费视频| 亚洲国产日韩在线成人蜜芽 | 亚洲日本VA午夜在线电影| 日本XXX黄区免费看| 亚洲伊人色一综合网| 亚洲精品动漫免费二区| 久久久久亚洲国产| 国产美女无遮挡免费视频网站 | 亚洲人成人一区二区三区| aa在线免费观看| 久久精品夜色国产亚洲av| 最近中文字幕大全中文字幕免费| 亚洲美女一区二区三区| 成人免费毛片视频| 国产亚洲女在线线精品| 久久久亚洲精品蜜桃臀| 99精品在线免费观看| 亚洲毛片基地4455ww| 免费一级特黄特色大片在线 | 国产精品福利在线观看免费不卡| 中文字幕精品亚洲无线码一区应用| 中文字幕在线视频免费| 亚洲视频在线播放| 91在线视频免费91| 色吊丝性永久免费看码| 亚洲福利视频一区| 夭天干天天做天天免费看| 一级毛片试看60分钟免费播放| 亚洲国产精品无码久久久秋霞2| 蜜臀AV免费一区二区三区| 亚洲国产精品成人综合色在线| 亚洲日韩在线第一页| 67pao强力打造国产免费| 精品久久久久久亚洲中文字幕 | 国产偷伦视频免费观看| 亚洲中文字幕无码中文| 国产亚洲成人久久| 妻子5免费完整高清电视|