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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产精品亚洲一区二区麻豆| 国产高清视频免费在线观看| 国产精品国产免费无码专区不卡| 国产区图片区小说区亚洲区| 亚洲高清专区日韩精品| 一色屋成人免费精品网站| 无人视频免费观看免费视频| 亚洲AV无码成人精品区天堂| 免费精品人在线二线三线区别| 免费无毒a网站在线观看| 亚洲精品视频在线免费| 国产免费卡一卡三卡乱码| 久久久久国产免费| 国产精品亚洲精品日韩动图| 亚洲嫩模在线观看| 亚洲高清最新av网站| 亚洲免费在线视频播放| EEUSS影院WWW在线观看免费| 久久精品国产亚洲av麻豆蜜芽| 亚洲无线观看国产精品| 免费特级黄毛片在线成人观看| 免费无码作爱视频| 国产成人综合亚洲一区| 亚洲人成人77777在线播放| 国产亚洲精品无码成人| 国产成人精品日本亚洲专区| 一级毛片免费不卡| 亚洲日韩精品无码专区网站| 国产亚洲无线码一区二区| 免费羞羞视频网站| 黄色网址免费大全| 国产一区二区三区免费| 全部在线播放免费毛片| 亚洲熟妇AV一区二区三区宅男| 91亚洲导航深夜福利| 亚洲精品乱码久久久久久中文字幕 | 亚洲成AV人片在线观看WWW| 免费h黄肉动漫在线观看| 性色av免费观看| 国产在线观看麻豆91精品免费| 日本高清免费观看|