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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲中文久久精品无码ww16| 亚洲国产a级视频| 亚洲AV日韩AV天堂一区二区三区| 亚洲AV成人一区二区三区观看 | 免费看一级一级人妻片| 国产成人精品男人免费| 国产精品亚洲一区二区三区在线观看| 91嫩草国产在线观看免费| 亚洲国产精品白丝在线观看| 最近最新高清免费中文字幕| 亚洲最大在线视频| 西西大胆无码视频免费| 亚洲一卡2卡3卡4卡5卡6卡| 国产亚洲午夜高清国产拍精品| 91久久亚洲国产成人精品性色| 久久精品电影免费动漫| 亚洲成a人片77777群色| 久久久久国色AV免费看图片| 亚洲AV无码一区二区三区牛牛| 永久免费av无码网站韩国毛片| 亚洲国产精品美女久久久久| 免费中文字幕不卡视频| 精品亚洲AV无码一区二区| 野花高清在线观看免费完整版中文| 亚洲sss综合天堂久久久| 国产精品视_精品国产免费| 国产亚洲男人的天堂在线观看| 亚洲色偷偷狠狠综合网| a级在线观看免费| 亚洲国产精品成人精品软件| 成全视频免费高清 | 久久精品国产亚洲av高清漫画| 波多野结衣在线免费视频| 亚洲国产精品无码久久| 亚洲精品成人久久久| 84pao强力永久免费高清| 亚洲av日韩aⅴ无码色老头| 国产精品亚洲精品日韩已满| 免费人成在线观看69式小视频| 亚洲AV无码一区二区乱子伦| 黄色网址免费在线观看|