mMain.bas
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:8k
源码类别:

浏览器

开发平台:

Visual Basic

  1. Attribute VB_Name = "mMain"
  2. Option Explicit
  3. '确保strconv能正确转换
  4. Public Const LocaleID_SC As Long = 2052&    '简中
  5. Public Const LocaleID_CurUse As Long = LocaleID_SC
  6. '主窗口
  7. Public gMainForm As MDIFrmMain
  8. '自画菜单类
  9. Public gODrawMenu As cODMenus
  10. 'Public Const pi = 3.14159265358979
  11. '被过滤的页面
  12. Public FiltratePages As New cFiltratePages
  13. '关闭的页面
  14. Public ClosedPages As New cClosedPages
  15. Public ErrorLog As cErrorLog
  16. 'Public gMenuHdc As Long
  17. Public AppPath As String
  18. Public Const MainIniName As String = "lexplorer.ini"
  19. Public ScaleBtnImg1 As StdPicture
  20. Public ScaleBtnImg2 As StdPicture
  21. '是否win2k以上
  22. Public gOver2K As Boolean
  23. Public Sub Main()
  24. gOver2K = IsWin2k
  25. AppPath = App.path
  26. If Right$(AppPath, 1) <> "" Then AppPath = AppPath & ""
  27. Set dragCursor = LoadResPicture(101, vbResCursor)
  28. def_searchurl(1).Title = "Google"
  29. def_searchurl(1).Url = "http://www.google.com/search?ie=GB2312&hl=zh-CN&lr=&q=" & SearchUrlKeywordFlag
  30. def_searchurl(2).Title = "AllTheWeb"
  31. def_searchurl(2).Url = "http://www.alltheweb.com/search?cat=web&cs=gb2312&l=szh&q=" & SearchUrlKeywordFlag
  32. def_searchurl(3).Title = "百度"
  33. def_searchurl(3).Url = "http://www1.baidu.com/baidu?word=" & SearchUrlKeywordFlag
  34. def_searchurl(4).Title = "天网(web)"
  35. def_searchurl(4).Url = "http://e.pku.edu.cn/cgi-bin/allsearch?cdtype=GB&word=" & SearchUrlKeywordFlag
  36. def_searchurl(5).Title = "天网(ftp)"
  37. def_searchurl(5).Url = "http://bingle.pku.edu.cn/scripts/ftp_search.exe?word=" & SearchUrlKeywordFlag
  38. def_searchurl(6).Title = ".com"
  39. def_searchurl(6).Url = "http://www." & SearchUrlKeywordFlag & ".com"
  40. def_searchurl(7).Title = ".com.cn"
  41. def_searchurl(7).Url = "http://www." & SearchUrlKeywordFlag & ".com.cn"
  42. def_searchurl(8).Title = ".net"
  43. def_searchurl(8).Url = "http://www." & SearchUrlKeywordFlag & ".net"
  44. FloatFavorite = 1 'tbrPressed
  45. WebDraging = False
  46. Call LoadProgressIcon
  47. Call LoadScaleImg
  48. 'Call iniTagz
  49. 'Call iniDefaultEventIndex
  50. Call LoadUrlFilter
  51. 'Call LoadExTools
  52. Call LoadDownloadControl
  53. Call LoadPageRule
  54. Call MouseHand.Load(AppPath & MainIniName)
  55. Call LoadTbrButton
  56. '搜索栏菜单
  57. Call IniSearchbarMenu
  58. Call LoadSearchEgn
  59. Call IniMulSearchbarMenu
  60. Call LoadMulSearchEgn
  61. '下载
  62. Call LoadDownManager
  63. Set ErrorLog = New cErrorLog
  64. ErrorLog.LogFile = App.path & "Error.Log"
  65. Call CreateFavoriteMenuPopMenus
  66. Call IniAllVars
  67. 'Call LoadAllScriptFile
  68. Set gOutInfo = New cOutPortInfo
  69. Set gODrawMenu = New cODMenus
  70. Set gMainForm = New MDIFrmMain
  71. Load gMainForm
  72. ShowWindow gMainForm.hWnd, SW_MAXIMIZE
  73. 'Load gMainForm
  74. 'ShowWindow gMainForm.hwnd, SW_MAXIMIZE
  75. 'ShowWindow gMainForm.hwnd, SW_NORMAL
  76. End Sub
  77. 'Private Sub iniTagz()
  78. 'Dim pi8 As Double
  79. 'pi8 = pi / 8
  80. 'tg1 = Tan(pi8)
  81. 'tg2 = Tan(pi8 * 3)
  82. 'tg3 = Tan(pi8 * 5)
  83. 'tg4 = Tan(pi8 * 7)
  84. 'End Sub
  85. 'Private Sub iniMouseEventPrc()
  86. 'mouse_event_prc(0).setnone   'ur
  87. '
  88. 'mouse_event_prc(1).previoustab   'u
  89. '
  90. 'mouse_event_prc(2).setnone  'ul
  91. '
  92. 'mouse_event_prc(3).goback   'l
  93. '
  94. 'mouse_event_prc(4).setnone  'dl
  95. '
  96. 'mouse_event_prc(5).nexttab   'd
  97. '
  98. 'mouse_event_prc(6).setnone  'dr
  99. '
  100. 'mouse_event_prc(7).goforward   'r
  101. '
  102. 'End Sub
  103. '
  104. '
  105. 'Private Sub iniMouseEventPrc2()
  106. 'mouse_event_prc(0).nexttab 'ur
  107. 'mouse_event_prc(1).setnone  'u
  108. 'mouse_event_prc(2).previoustab  'ul
  109. 'mouse_event_prc(3).goback  'l
  110. 'mouse_event_prc(4).setnone  'dl
  111. 'mouse_event_prc(5).closetab  'd
  112. 'mouse_event_prc(6).setnone 'dr
  113. 'mouse_event_prc(7).goforward  'r
  114. 'End Sub
  115. 'Private Sub iniDefaultEventIndex()
  116. 'def_mouse_event(0) = 4
  117. 'def_mouse_event(1) = 0
  118. 'def_mouse_event(2) = 3
  119. 'def_mouse_event(3) = 1
  120. 'def_mouse_event(4) = 0
  121. 'def_mouse_event(5) = 5
  122. 'def_mouse_event(6) = 0
  123. 'def_mouse_event(7) = 2
  124. '
  125. 'def_mouse_event_leftright = 5
  126. 'End Sub
  127. Public Function IsWin2k() As Boolean
  128. Dim OSInfo As OSVERSIONINFO ', PId As String
  129. Dim ret&, rtn As Boolean
  130. 'Set the structure size
  131. OSInfo.dwOSVersionInfoSize = Len(OSInfo)
  132. 'Get the Windows version
  133. ret& = GetVersionEx(OSInfo)
  134. 'Chack for errors
  135. If ret <> 0 Then
  136.     If OSInfo.dwPlatformID = VER_PLATFORM_WIN32_NT And _
  137.             OSInfo.dwMajorVersion >= 5 Then
  138.         rtn = True
  139.     Else
  140.         rtn = False
  141.     End If
  142. Else
  143.     rtn = False
  144. End If
  145. IsWin2k = rtn
  146. End Function
  147. Public Function IsWinNT() As Boolean
  148. Dim OSInfo As OSVERSIONINFO
  149. Dim ret&
  150. 'Set the structure size
  151. OSInfo.dwOSVersionInfoSize = Len(OSInfo)
  152. 'Get the Windows version
  153. ret& = GetVersionEx(OSInfo)
  154. 'Chack for errors
  155. If ret <> 0 Then
  156.     IsWinNT = (OSInfo.dwPlatformID = VER_PLATFORM_WIN32_NT)
  157. Else
  158.     IsWinNT = False
  159. End If
  160. End Function
  161. Public Sub LoadProgressIcon()
  162. 'Set ProgressIcon(0) = LoadImageEx(IDI_Progress_0, "icon2")
  163. 'Set ProgressIcon(1) = LoadImageEx(IDI_Progress_1, "icon2")
  164. 'Set ProgressIcon(2) = LoadImageEx(IDI_Progress_2, "icon2")
  165. 'Set ProgressIcon(3) = LoadImageEx(IDI_Progress_3, "icon2")
  166. 'Set ProgressIcon(4) = LoadImageEx(IDI_Progress_4, "icon2")
  167. Dim tImg As cImgEx
  168. Dim tDskDc&, i&
  169. tDskDc = GetDC(0)
  170. Set tImg = New cImgEx
  171. tImg.Create 55, 16, tDskDc
  172. tImg.CopyByBmp LoadImageEx(IDB_ProgressIcon, "gif").handle
  173. ReleaseDC 0, tDskDc
  174. For i = 0 To 4
  175.     Set ProgressIcon(i) = tImg.ExtractImg2(11, 16, i)
  176. Next i
  177. End Sub
  178. Public Sub LoadScaleImg()
  179. Set ScaleBtnImg1 = LoadResPicture(501, vbResBitmap)
  180. Set ScaleBtnImg2 = LoadResPicture(502, vbResBitmap)
  181. End Sub
  182. Public Sub IniAllVars()
  183. NOExeActive = False
  184. gFullScreenMode = False
  185. gShowMainToolbar = True
  186. gShowAddressbar = True
  187. gShowSearchbar = True
  188. gShowTabsbar = True
  189. gShowSmallToolbar = True
  190. gShowStatusbar = True
  191. Call IniDragDrop
  192. End Sub
  193. '初始化拖拽相关
  194. Public Sub IniDragDrop()
  195. Dim i&
  196. Dim tDD As cDragDropEvent
  197. Set gSelfDrag = New cSelfDrag
  198. For i = 0 To 3
  199.     Set gDDEventImage(i) = New cDragDropEvent
  200.     gDDEventImage(i).DragType = ddTypeImage
  201.     Set gDDEventText(i) = New cDragDropEvent
  202.     gDDEventText(i).DragType = ddTypeText
  203.     Set gDDEventLink(i) = New cDragDropEvent
  204.     gDDEventLink(i).DragType = ddTypeLink
  205. Next
  206. Set gDragDropMenu = New cPopMenu
  207. Set gDragDropMenu2 = New cPopMenu
  208. Set tDD = New cDragDropEvent
  209. With gDragDropMenu2
  210.     .Create
  211. End With
  212. With gDragDropMenu
  213.     .Create
  214.     For i = 0 To tDD.SpIndex_Replace - 1
  215.         .Add tDD.GetEventText(i), , 100 + i
  216.     Next i
  217.     .Add tDD.GetEventText(tDD.SpIndex_Replace), pmsString Or pmsPopup, gDragDropMenu2.hWnd
  218.     .Add "", pmsSeparator
  219.     .Add tDD.GetEventText(tDD.SpIndex_ShowMenu), , 300
  220. End With
  221. End Sub
  222. 'Public Sub LoadAllScriptFile()
  223. 'Dim tPath$
  224. 'Dim tFileName() As String, tcnt&
  225. 'Dim i&
  226. 'tPath = AppPath & "script"
  227. 'Call FindFilesAPI(tPath, "*.htm", tcnt, tFileName)
  228. '
  229. 'gScriptCnt = tcnt
  230. 'ReDim gScripts(0 To gScriptCnt)
  231. 'For i = 1 To tcnt
  232. '    Call LoadScriptFile(tPath & tFileName(i), gScripts(i))
  233. 'Next i
  234. '
  235. 'End Sub
  236. ''读取脚本文件
  237. 'Public Sub LoadScriptFile(nfile$, nScript As ScriptData)
  238. 'Dim tIni As cINIFile
  239. 'Dim tFN&, tPos&
  240. 'Dim tstr$
  241. 'Set tIni = New cINIFile
  242. 'With tIni
  243. '    .IniFile = nfile
  244. '    nScript.Title = .ReadKey(ScriptInfoFlag_Info, ScriptInfoFlag_Title, "无题")
  245. '    nScript.Language = .ReadKey(ScriptInfoFlag_Info, ScriptInfoFlag_Language, "javascript")
  246. '    nScript.FileName = nfile
  247. '    nScript.LoadedScript = False
  248. '    nScript.RunType = Val(.ReadKey(ScriptInfoFlag_Info, ScriptInfoFlag_RunType, "0"))
  249. '    nScript.LoadAtExec = Val(.ReadKey(ScriptInfoFlag_Info, ScriptInfoFlag_LoadAtExec, "0"))
  250. 'End With
  251. '
  252. 'If nScript.LoadAtExec <> 0 Then
  253. '    tFN = FreeFile
  254. '    Open nfile For Binary As tFN
  255. '        tstr = StrConv(InputB(LOF(tFN), tFN), vbUnicode)
  256. '    Close tFN
  257. '
  258. '    tPos = InStr(1, tstr, ScriptInfoFlag_Script)
  259. '    If tPos > 0 Then
  260. '        nScript.Script = Mid(tstr, tPos + Len(ScriptInfoFlag_Script))
  261. '    End If
  262. '    nScript.LoadedScript = True
  263. 'End If
  264. '
  265. 'End Sub
  266. ''运行时才加载脚本文件的sub
  267. 'Public Sub LoadScriptFile2(nScript As ScriptData)
  268. 'On Error GoTo due
  269. 'Dim tFN&, tPos&
  270. 'Dim tstr$
  271. '
  272. 'tFN = FreeFile
  273. 'Open nScript.FileName For Binary As tFN
  274. '    tstr = StrConv(InputB(LOF(tFN), tFN), vbUnicode)
  275. 'Close tFN
  276. '
  277. 'tPos = InStr(1, tstr, ScriptInfoFlag_Script)
  278. 'If tPos > 0 Then
  279. '    nScript.Script = Mid(tstr, tPos + Len(ScriptInfoFlag_Script))
  280. 'End If
  281. 'nScript.LoadedScript = True
  282. '
  283. 'Exit Sub
  284. '
  285. 'due:
  286. '    Reset
  287. '    nScript.LoadedScript = False
  288. '    nScript.Script = ""
  289. '    Debug.Print "loadscriptfile2", Err.Description
  290. 'End Sub