• <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
        //轉載請保留此信息

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费人成黄页在线观看日本| 一区二区三区免费视频观看| 亚洲黄色在线观看网站| 久久伊人久久亚洲综合| 亚洲五月丁香综合视频| 免费的黄色的网站| 一级毛片免费观看不卡的| 欧洲精品成人免费视频在线观看| 国产在线19禁免费观看国产| 国产成人A人亚洲精品无码| 亚洲国产最大av| 国产高清视频在线免费观看| 久久亚洲综合色一区二区三区| a成人毛片免费观看| 日韩免费无码视频一区二区三区| 精品无码国产污污污免费| 18gay台湾男同亚洲男同| 中文字幕av无码无卡免费| 精品亚洲综合在线第一区| 久久这里只精品国产免费10| 亚洲午夜未满十八勿入网站2| 亚洲性色精品一区二区在线| 一级毛片免费观看不卡的| 亚洲免费在线视频播放| 免费人成视频在线观看网站| 亚洲伊人久久大香线蕉在观| 日韩免费视频播播| 岛国精品一区免费视频在线观看| 精品国产免费观看久久久 | 亚洲春色另类小说| 国产成人无码区免费内射一片色欲| 亚洲成a人片77777老司机| 免费无码AV片在线观看软件| 国产免费黄色无码视频| 亚洲国产成人精品91久久久| 亚洲熟妇成人精品一区| 久久久久亚洲av毛片大| 一级一级一片免费高清| 亚洲国产韩国一区二区| 久久亚洲国产成人影院网站| 91网站免费观看|