DLL命令表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
.版本 2 .DLL命令 創建線程_, 整數型, "kernel32", "CreateThread", , CreateThread建立新的線索 .參數 lpThreadAttributes, 整數型, , 0 .參數 dwStackSize, 整數型, , 0 .參數 lpStartAddress, 子程序指針 .參數 lpParameter, 整數型 .參數 dwCreationFlags, 整數型, , 0 .參數 lpThreadId, 整數型, , 線程ID .DLL命令 _創建許可證, , "kernel32", "InitializeCriticalSection", , 創建許可證 .參數 lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _刪除許可證, , "kernel32", "DeleteCriticalSection", , 刪除許可證 .參數 lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _進入許可區, , "kernel32", "EnterCriticalSection", , 進入許可區 .參數 lpCriticalSection, 多線程許可證, 傳址 .DLL命令 _退出許可區, , "kernel32", "LeaveCriticalSection", , 退出許可區 .參數 lpCriticalSection, 多線程許可證, 傳址 .DLL命令 線程_掛起, 整數型, "kernel32", "SuspendThread" .參數 hThread, 整數型 .DLL命令 線程_恢復, 整數型, "kernel32", "ResumeThread" .參數 hThread, 整數型 |
自定義數據類型表
1
2
3
4
5
6
7
8
|
.版本 2 .數據類型 多線程許可證, 公開 .成員 DebugInfo, 整數型 .成員 LockCount, 整數型 .成員 RecursionCount, 整數型 .成員 OwningThread, 整數型 .成員 LockSemaphore, 整數型 .成員 SpinCount, 整數型 |
酷狗kgtemp轉MP3的代碼
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
|
.版本 2 .支持庫 iext .支持庫 spec .程序集 窗口程序集_啟動窗口 .程序集變量 許可證, 多線程許可證 .程序集變量 線程數, 整數型 .程序集變量 handle, 整數型, , "0" .程序集變量 是否暫停, 邏輯型 .程序集變量 是否停止, 邏輯型 .子程序 __啟動窗口_創建完畢 路徑編輯框.內容 = 取運行目錄 () + “\mp3\” _創建許可證 (許可證) 輸出調試文本 (許可證.DebugInfo) .子程序 _按鈕生成_被單擊 .局部變量 初始目錄, 文本型 .局部變量 文件, 文本型 .局部變量 索引, 整數型 .局部變量 數值1, 文本型 .局部變量 i, 整數型 按鈕開始.禁止 = 假 超級列表框1.表項 = { } i = 0 初始目錄 = 取運行目錄 () + “\” 文件 = 尋找文件 (初始目錄 + “*.kgtemp”, ) .循環判斷首 () .如果真 (文件是否存在 (初始目錄 + 文件)) i = i + 1 索引 = 超級列表框1.插入表項 (, , , , , ) 超級列表框1.置標題 (索引, 0, 到文本 (i)) 超級列表框1.置標題 (索引, 1, 初始目錄 + 文件) 超級列表框1.置標題 (索引, 2, “待轉”) .如果真結束 文件 = 尋找文件 (, ) .循環判斷尾 (文件 ≠ “”) .子程序 _按鈕開始_被單擊 .如果真 (文件是否存在 (路徑編輯框.內容) = 假) 創建目錄 (路徑編輯框.內容) .如果真結束 是否停止 = 假 按鈕開始.禁止 = 真 按鈕生成.禁止 = 真 按鈕停止.禁止 = 假 按鈕暫停.禁止 = 假 多線程啟動 () 按鈕生成.禁止 = 假 按鈕停止.禁止 = 真 按鈕暫停.禁止 = 真 按鈕開始.禁止 = 假 .子程序 單線程轉換 .參數 表項, 整數型 .局部變量 文件路徑, 文本型 .局部變量 文件名, 文本型 .局部變量 mp3, 字節集 文件路徑 = 超級列表框1.取標題 (表項, 1) 文件名 = 取文本右邊 (文件路徑, 取文本長度 (文件路徑) - 倒找文本 (文件路徑, “\”, , 假)) mp3 = kgtemp轉MP3 (文件路徑) .如果 (mp3 ≠ { }) .如果 (寫到文件 (路徑編輯框.內容 + 文件名 + “.mp3”, mp3)) 超級列表框1.置標題 (表項, 2, “完成”) .否則 超級列表框1.置標題 (表項, 2, “失敗”) .如果結束 .否則 超級列表框1.置標題 (表項, 2, “失敗”) .如果結束 超級列表框1.保證顯示 (表項) _進入許可區 (許可證) 線程數 = 線程數 - 1 _退出許可區 (許可證) .子程序 多線程啟動 .局部變量 數量, 整數型 .局部變量 i, 整數型 數量 = 超級列表框1.取表項數 () 重定義數組 (handle, 假, 數量) ' 防止數組越界 .計次循環首 (數量, i) .如果真 (是否停止) 跳出循環 () .如果真結束 .判斷循環首 (是否暫停) 延遲 (200) ' 如果單擊了暫停按鈕,程序就停在此處無限循環,直到單擊恢復。 .判斷循環尾 () 創建線程_ (0, 0, &單線程轉換, i - 1, 0, handle [i]) 超級列表框1.置標題 (i - 1, 2, “轉換中”) _進入許可區 (許可證) 線程數 = 線程數 + 1 ' 循環一次就讓線程數增加1 _退出許可區 (許可證) .判斷循環首 (線程數 = 到整數 (編輯框線程數.內容)) .如果真 (是否停止) 跳出循環 () .如果真結束 延遲 (100) ' 延遲的目的是防止線程數超過設定數目。 .判斷循環尾 () .計次循環尾 () .子程序 _按鈕暫停_被單擊 .局部變量 cout, 整數型 .局部變量 i, 整數型 cout = 超級列表框1.取表項數 () .判斷開始 (按鈕暫停.標題 = “暫停”) 是否暫停 = 真 .計次循環首 (cout, i) 線程_掛起 (handle [i]) .計次循環尾 () 按鈕暫停.標題 = “恢復” .默認 按鈕暫停.標題 = “恢復” 是否暫停 = 假 .計次循環首 (cout, i) 線程_恢復 (handle [i]) .計次循環尾 () 按鈕暫停.標題 = “暫停” .判斷結束 .子程序 _按鈕停止_被單擊 是否停止 = 真 按鈕生成.禁止 = 真 .子程序 kgtemp轉MP3, 字節集 .參數 文件路徑, 文本型 .局部變量 key, 整數型, , "4" .局部變量 文件號, 整數型 .局部變量 臨時字節集文件, 字節集 .局部變量 臨時字節集指針, 整數型 .局部變量 字節集長度, 整數型 .局部變量 計數, 整數型 .局部變量 i, 整數型 .局部變量 結果, 整數型 .局部變量 輸出結果, 字節集 .局部變量 時間, 整數型 key [1] = 172 key [2] = 236 key [3] = 223 key [4] = 87 文件號 = 打開文件 (文件路徑, , ) 臨時字節集文件 = 讀入字節集 (文件號, 取文件長度 (文件號)) 關閉文件 (文件號) 臨時字節集文件 = 取字節集右邊 (臨時字節集文件, 取字節集長度 (臨時字節集文件) - 1024) 臨時字節集指針 = 取變量數據地址 (臨時字節集文件) 字節集長度 = 取字節集長度 (臨時字節集文件) 時間 = 取啟動時間 () .計次循環首 (字節集長度, 計數) i = 計數 % 4 .如果真 (i = 0) i = 4 .如果真結束 結果 = 位異或 (取低位 (臨時字節集文件 [計數]), 取低位 (key [i])) 結果 = 位或 (左移 (位異或 (取高位 (臨時字節集文件 [計數]), 取高位 (key [i]), 結果), 4), 結果) 寫到內存 (取字節集左邊 (到字節集 (結果), 1), 臨時字節集指針 + 計數 - 1, 1) .計次循環尾 () 輸出調試文本 (取啟動時間 () - 時間) 返回 (臨時字節集文件) .子程序 MP3轉kgtemp, 字節集 .參數 文件路徑, 文本型 .局部變量 key, 整數型, , "4" .局部變量 文件號, 整數型 .局部變量 臨時字節集文件, 字節集 .局部變量 臨時字節集指針, 整數型 .局部變量 字節集長度, 整數型 .局部變量 計數, 整數型 .局部變量 i, 整數型 .局部變量 結果, 整數型 .局部變量 輸出結果, 字節集 .局部變量 時間, 整數型 key [1] = 172 key [2] = 236 key [3] = 223 key [4] = 87 文件號 = 打開文件 (文件路徑, , ) 臨時字節集文件 = 讀入字節集 (文件號, 取文件長度 (文件號)) 關閉文件 (文件號) 臨時字節集指針 = 取變量數據地址 (臨時字節集文件) 字節集長度 = 取字節集長度 (臨時字節集文件) 時間 = 取啟動時間 () .計次循環首 (字節集長度, 計數) i = 計數 % 4 .如果真 (i = 0) i = 4 .如果真結束 結果 = 位異或 (取高位 (臨時字節集文件 [計數]), 取低位 (臨時字節集文件 [計數]), 取高位 (key [i])) 結果 = 位或 (左移 (結果, 4), 位異或 (取低位 (臨時字節集文件 [計數]), 取低位 (key [i]))) 寫到內存 (取字節集左邊 (到字節集 (結果), 1), 臨時字節集指針 + 計數 - 1, 1) .計次循環尾 () 輸出調試文本 (取啟動時間 () - 時間) 返回 (#head + 臨時字節集文件) .子程序 取高位, 整數型 .參數 待取整數, 整數型 返回 (右移 (待取整數, 4)) .子程序 取低位, 整數型 .參數 待取整數, 整數型 返回 (位與 (待取整數, 15)) .子程序 __啟動窗口_將被銷毀 _刪除許可證 (許可證) |
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接