激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言統計代碼行數與API的工具

易語言統計代碼行數與API的工具

2022-02-24 15:57易語言源碼教程 易語言

今天小編就為大家分享一篇關于易語言統計代碼行數與API的工具,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

DLL命令表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
.版本 2
.DLL命令 FindWindowEx, 整數型, "user32", "FindWindowExA", , 在窗口列表中尋找與指定條件相符的第一個子窗口 找到的窗口的句柄。如未找到相符窗口,則返回零。會設置GetLastError
  .參數 hWnd1, 整數型, , 在其中查找子的父窗口。如設為零,表示使用桌面窗口(通常說的頂級窗口都被認為是桌面的子窗口,所以也會對它們進行查找)
  .參數 hWnd2, 整數型, , 從這個窗口后開始查找。這樣便可利用對FindWindowEx的多次調用找到符合條件的所有子窗口。如設為零,表示從第一個子窗口開始搜索
  .參數 lpsz1, 文本型, , 欲搜索的類名。零表示忽略
  .參數 lpsz2, 文本型, , 欲搜索的類名。零表示忽略;
.DLL命令 PostMessage, 整數型, "user32", "PostMessageA", , 將一條消息投遞到指定窗口的消息隊列。投遞的消息會在Windows事件處理過程中得到處理。在那個時候,會隨同投遞的消息調用指定窗口的窗口函數。特別適合那些不需要立即處理的窗口消息的發送 如消息投遞成功,則返回TRUE(非零)。會設置GetLastError
  .參數 hwnd, 整數型, , 接收消息的那個窗口的句柄。如設為HWND_BROADCAST,表示投遞給系統中的所有頂級窗口。如設為零,表示投遞一條線程消息(參考PostThreadMessage)
  .參數 wMsg, 整數型, , 消息標識符
  .參數 wParam, 整數型, , 具體由消息決定
  .參數 lParam, 整數型, , 具體由消息決定;
.DLL命令 SendMessage, 整數型, "user32", "SendMessageA", , 調用一個窗口的窗口函數,將一條消息發給那個窗口。除非消息處理完畢,否則該函數不會返回。SendMessageBynum, ;  SendMessageByString是該函數的“類型安全”聲明形式 由具體的消息決定
  .參數 hwnd, 整數型, , 要接收消息的那個窗口的句柄
  .參數 wMsg, 整數型, , 消息的標識符
  .參數 wParam, 整數型, , 具體取決于消息
  .參數 lParam, 整數型, , 具體取決于消息;
.DLL命令 GetWindowText, 整數型, "user32", "GetWindowTextA", , 取得一個窗體的標題(caption)文字,或者一個控件的內容(在vb里使用:使用vb窗體或控件的caption或text屬性) 復制到lpString的字串長度;不包括空中止字符。會設置GetLastError
  .參數 hwnd, 整數型, , 欲獲取文字的那個窗口的句柄
  .參數 lpString, 文本型, , 預定義的一個緩沖區,至少有cch+1個字符大小;隨同窗口文字載入
  .參數 cch, 整數型, , lp緩沖區的長度;
.DLL命令 GetWindowTextLength, 整數型, "user32", "GetWindowTextLengthA", , 調查窗口標題文字或控件內容的長短(在vb里使用:直接使用vb窗體或控件的caption或text屬性) 字串長度,不包括空中止字符
  .參數 hwnd, 整數型, , 想調查文字長度的窗口的句柄;
.DLL命令 IsWindow, 整數型, "user32", "IsWindow", , 判斷一個窗口句柄是否有效 非零表示成功,零表示失敗
  .參數 hwnd, 整數型, , 待檢查窗口的句柄;
.DLL命令 GetClassName, 整數型, "user32", "GetClassNameA", , 為指定的窗口取得類名 以字節數表示的類名長度;排除最后的空中止字符。零表示出錯。會設置GetLastError
  .參數 hwnd, 整數型, , 欲獲得類名的那個窗口的句柄
  .參數 lpClassName, 文本型, , 隨同類名載入的緩沖區。預先至少必須分配nMaxCount+1個字符
  .參數 nMaxCount, 整數型, , 由lpClassName提供的緩沖區長度;
.DLL命令 SetForegroundWindow, 整數型, "user32", "SetForegroundWindow", , 將窗口設為系統的前臺窗口。這個函數可用于改變用戶目前正在操作的應用程序 非零表示成功,零表示失敗。會設置GetLastError
  .參數 hwnd, 整數型, , 帶到前臺的窗口;
.DLL命令 SetFocus, 整數型, "user32", "SetFocus", , 設置鍵盤焦點 前一個擁有焦點的窗口的句柄
  .參數 hwnd, 整數型, , 準備接收焦點的窗口的句柄
.DLL命令 keybd_event, , "user32", "keybd_event", , 這個函數模擬了鍵盤行動 
  .參數 bVk, 字節型, , 欲模擬的虛擬鍵碼
  .參數 bScan, 字節型, , 鍵的OEM掃描碼
  .參數 dwFlags, 整數型, , 零;或設為下述兩個標志之一;KEYEVENTF_EXTENDEDKEY:指出是一個擴展鍵,而且在前面冠以0xE0代碼;KEYEVENTF_KEYUP:模擬松開一個鍵
  .參數 dwExtraInfo, 整數型, , 通常不用的一個值。api函數GetMessageExtraInfo可取得這個值。允許使用的值取決于特定的驅動程序;
.DLL命令 IsIconic, 整數型, "user32", "IsIconic", , 判斷窗口是否已最小化 非零表示成功,零表示失敗
  .參數 hwnd, 整數型, , 待檢測窗口的句柄;
.DLL命令 MessageBox, 整數型, "user32", "MessageBoxA", , 建立消息框窗體 
  .參數 hwnd, 整數型
  .參數 lpText, 文本型
  .參數 lpCaption, 文本型
  .參數 wType, 整數型

常量數據表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.版本 2
.常量 易菜單命令_復制, "57634"
.常量 易菜單命令_粘貼, "57637"
.常量 易菜單命令_跳轉, "32793"
.常量 WM_COMMAND, "273"
.常量 WM_CHAR, "258", , //按下某鍵,并已發出WM_KEYDOWN, WM_KEYUP消息
.常量 WM_KEYDOWN, "256", , //按下一個鍵
.常量 WM_KEYFIRST, "256"
.常量 WM_KEYUP, "257", , //釋放一個鍵
.常量 EM_SETSEL, "177"
.常量 VK_CONTROL, "17"
.常量 VK_A, "65"
.常量 WM_LBUTTONDOWN, "513"
.常量 WM_LBUTTONDBLCLK, "515"
.常量 WM_LBUTTONUP, "514"
.常量 WM_MOUSEMOVE, "512"
.常量 KEYEVENTF_KEYUP, "2"
.常量 KEYEVENTF_EXTENDEDKEY, "1"
.常量 WM_SYSCOMMAND, "274"
.常量 SC_RESTORE, "61728"
.常量 EM_GETLINECOUNT, "186"

易語言代碼統計

此功能需要加載 樹型框操作類模塊 1.2

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
.版本 2
.程序集 窗口程序集1
.子程序 __啟動窗口_創建完畢
取易IDE ()
.子程序 __啟動窗口_尺寸被改變
IDE組合框.寬度 = 取用戶區寬度 () - IDE組合框.左邊 - 8
統計按鈕.左邊 = 取用戶區寬度 () - 統計按鈕.寬度 - 8
刷新按鈕.左邊 = 統計按鈕.左邊 - 統計按鈕.寬度 - 8
統計編輯框.移動 (, , 取用戶區寬度 () - 16, 取用戶區高度 () - 統計編輯框.頂邊 - 8)
.子程序 _刷新按鈕_被單擊
取易IDE ()
.子程序 _統計按鈕_被單擊
.局部變量 hWnd, 整數型
hWnd = IDE組合框.取項目數值 (IDE組合框.現行選中項)
.如果真 (IsWindow (hWnd) = 0)
  取易IDE ()
  MessageBox (取窗口句柄 (), “請選擇已打開的易IDE進行統計”, “提示”, 64)
  IDE組合框.獲取焦點 ()
  返回 ()
.如果真結束
統計易代碼 (hWnd)
.子程序 取易IDE
.局部變量 hWnd, 整數型
.局部變量 strText, 文本型
.局部變量 n, 整數型
IDE組合框.清空 ()
hWnd = FindWindowEx (0, 0, “ENewFrame”, 字符 (0))
.判斷循環首 (hWnd ≠ 0)
  n = GetWindowTextLength (hWnd) + 1
  strText = 取空白文本 (n)
  GetWindowText (hWnd, strText, n)
  IDE組合框.加入項目 (strText, hWnd)
  hWnd = FindWindowEx (0, hWnd, “ENewFrame”, 字符 (0))
.判斷循環尾 ()
.子程序 統計易代碼
.參數 hWndEFrame, 整數型
.局部變量 hTreeView, 整數型
.局部變量 hMDIClient, 整數型
.局部變量 hEdit, 整數型
.局部變量 樹型框, 樹型框句柄操作類
.局部變量 n
.局部變量 i
.局部變量 p
.局部變量 x
.局部變量 ApiP, 整數型
.局部變量 Api, 整數型
.局部變量 strText, 文本型
.局部變量 strCode, 文本型
.如果真 (IsWindow (hWndEFrame) = 0)
  返回 ()
.如果真結束
hTreeView = 查找程序數據樹型框 (hWndEFrame)
hMDIClient = 查找客戶區 (hWndEFrame)
ApiP = -1
連續賦值 (真, 刷新按鈕.禁止, 統計按鈕.禁止, IDE組合框.禁止)
統計標簽.標題 = “正在統計...”
統計編輯框.內容 = “”
處理事件 ()
.如果真 (hTreeView ≠ 0 且 hMDIClient ≠ 0)
  .如果真 (IsIconic (hWndEFrame) ≠ 0) ' 判斷窗口是否已最小化
    SendMessage (hWndEFrame, #WM_SYSCOMMAND, #SC_RESTORE, 0)
  .如果真結束
  SetForegroundWindow (hWndEFrame)
  處理事件 ()
  .如果真 (樹型框._初始化類 (hTreeView, 真))
    樹型框.置自動更新狀態 (假)
    n = 樹型框.數據_取項目數 ()
    .計次循環首 (n, i)
      p = 樹型框.數據_取父項目 (i - 1)
      .如果真 (p = 0)
        strText = 樹型框.數據_取項目文本 (i - 1)
        .如果真 (尋找文本 (“資源表|模塊引用表|窗口”, strText, , 假) = -1)
          統計標簽.標題 = “正在統計:” + strText
          處理事件 ()
          樹型框.動作_保證顯示 (i - 1)
          樹型框.數據_現行選中項_置 (i - 1)
          SendMessage (hWndEFrame, #WM_COMMAND, #易菜單命令_跳轉, 0)
          延時 (200)
          hEdit = 查找編輯區 (hMDIClient, strText)
          .如果真 (hEdit ≠ 0)
            SetFocus (hEdit)
            發送全選命令 (hEdit)
            置剪輯板文本 (“”)
            處理事件 ()
            延時 (200)
            SendMessage (hWndEFrame, #WM_COMMAND, #易菜單命令_復制, 0)
            strCode = strCode + 取剪輯板文本 () + #換行符
          .如果真結束
        .如果真結束
        .如果 (strText = “Dll命令”)
          ApiP = i - 1
        .否則
        .如果結束
      .如果真結束
      .如果真 (p = ApiP)
        Api = Api + 1
      .如果真結束
    .計次循環尾 ()
  .如果真結束
.如果真結束
處理易代碼 (strCode)
統計編輯框.內容 = strCode
置剪輯板文本 (“”)
n = 統計編輯框.發送信息 (#EM_GETLINECOUNT, 0, 0)
統計標簽.標題 = “共有代碼 ” + 到文本 (n) + “ 行”
.如果真 (Api > 0)
  統計標簽.標題 = 統計標簽.標題 + “,使用API ” + 到文本 (Api) + “ 個”
.如果真結束
SetForegroundWindow (取窗口句柄 ())
連續賦值 (假, 刷新按鈕.禁止, 統計按鈕.禁止, IDE組合框.禁止)
.子程序 處理易代碼
.參數 strCode, 文本型, 參考
.局部變量 n, 整數型
strCode = 子文本替換 (strCode, “.版本 2” + #換行符, “”, , , 真)
.判斷循環首 (尋找文本 (strCode, #換行符 + #換行符, , 假) ≠ -1)
  strCode = 子文本替換 (strCode, #換行符 + #換行符, #換行符, , , 真)
.判斷循環尾 ()
strCode = “.版本 2” + #換行符 + #換行符 + strCode
.子程序 發送全選命令
.參數 hWnd, 整數型
.局部變量 lParam
keybd_event (#VK_CONTROL, 0, 0, 0)
keybd_event (#VK_A, 0, 0, 0)
keybd_event (#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0)
keybd_event (#VK_A, 0, #KEYEVENTF_KEYUP, 0)
延時 (200)
.子程序 查找程序數據樹型框, 整數型
.參數 hWndEFrame, 整數型
.局部變量 hPrent, 整數型
.局部變量 hWnd, 整數型
.局部變量 List, 整數型, , "0"
.局部變量 ClassName, 文本型
.局部變量 樹型框, 樹型框句柄操作類
加入成員 (List, hWndEFrame)
.判斷循環首 (取數組成員數 (List) > 0)
  hPrent = List [1]
  刪除成員 (List, 1, 1)
  hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))
  .判斷循環首 (hWnd ≠ 0)
    加入成員 (List, hWnd)
    ClassName = 取空白文本 (255)
    GetClassName (hWnd, ClassName, 255)
    .如果真 (ClassName = “SysTreeView32”)
      .如果真 (樹型框._初始化類 (hWnd, 真))
        .如果真 (樹型框.數據_取項目文本 (0) = “程序數據”)
          返回 (hWnd)
        .如果真結束
      .如果真結束
    .如果真結束
    hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))
  .判斷循環尾 ()
.判斷循環尾 ()
返回 (0)
.子程序 查找客戶區, 整數型, , MDIClient
.參數 hWndEFrame, 整數型
.局部變量 hPrent, 整數型
.局部變量 hWnd, 整數型
.局部變量 List, 整數型, , "0"
.局部變量 ClassName, 文本型
.局部變量 樹型框, 樹型框句柄操作類
加入成員 (List, hWndEFrame)
.判斷循環首 (取數組成員數 (List) > 0)
  hPrent = List [1]
  刪除成員 (List, 1, 1)
  hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))
  .判斷循環首 (hWnd ≠ 0)
    加入成員 (List, hWnd)
    ClassName = 取空白文本 (255)
    GetClassName (hWnd, ClassName, 255)
    .如果真 (ClassName = “MDIClient”)
      返回 (hWnd)
    .如果真結束
    hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))
  .判斷循環尾 ()
.判斷循環尾 ()
返回 (0)
.子程序 查找編輯區, 整數型, , 在客戶區里查找當前編輯的窗口
.參數 hMDIClient, 整數型
.參數 strWindowText, 文本型
.局部變量 hWnd, 整數型
.局部變量 strText, 文本型
.局部變量 ClassName, 文本型
.局部變量 n, 整數型
.局部變量 hPrent, 整數型
.局部變量 hAfx, 整數型
hWnd = FindWindowEx (hMDIClient, 0, 字符 (0), 字符 (0))
n = GetWindowTextLength (hWnd) + 1
strText = 取空白文本 (n)
GetWindowText (hWnd, strText, n)
.如果真 (尋找文本 (strText, strWindowText, , 假) ≠ -1)
  hPrent = FindWindowEx (hWnd, 0, 字符 (0), 字符 (0))
  .如果真 (hPrent ≠ 0)
    hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))
    .判斷循環首 (hWnd ≠ 0)
      ClassName = 取空白文本 (255)
      GetClassName (hWnd, ClassName, 255)
      .如果真 (取文本左邊 (ClassName, 4) = “Afx:”)
        hAfx = hWnd
        跳出循環 ()
      .如果真結束
      hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))
    .判斷循環尾 ()
  .如果真結束
.如果真結束
.如果真 (hAfx ≠ 0)
  hAfx = FindWindowEx (hAfx, 0, 字符 (0), 字符 (0))
.如果真結束
返回 (hAfx)

運行結果:

易語言統計代碼行數與API的工具

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

延伸 · 閱讀

精彩推薦
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網6662022-02-24
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網14792022-03-01
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內容,需要的可以跟著學習下...

    易語言教程網19162022-03-02
主站蜘蛛池模板: 欧美aaaaaaaa| 日本在线观看视频网站 | 成人黄色小视频在线观看 | 毛片免费在线播放 | 黄色的视频免费观看 | 日韩激情 | 一区二区精品在线 | a视频在线免费观看 | 亚洲午夜久久久精品一区二区三区 | 欧美艹逼 | 无码专区aaaaaa免费视频 | 亚洲五码在线观看视频 | 国内精品久久久久久久星辰影视 | 日本在线视频一区二区三区 | 激情视频日韩 | 最新黄色电影网站 | 黄色免费电影网址 | 午夜亚洲影院 | www.国产一区.com| 耽美肉文np | 亚洲精品久久久久久 | 黄色99视频| 国产一级免费av | 中文字幕观看 | 激情综合视频 | 亚洲日本高清 | 狠狠干狠狠操 | 99视频有精品视频高清 | 中国fx性欧美xxxx | 综合精品一区 | 成人羞羞视频在线观看免费 | 成人福利视频在 | 欧美1区2区 | 欧美zoofilia杂交videos | 久久精品日韩一区 | 久久久久成人精品亚洲国产 | 国产98色在线 | 亚洲成人在线免费 | 欧日一级片| 国产一级不卡毛片 | 黄色一级片在线观看 |