Advertisement
Rythorian

MELTING SCREEN

Jan 26th, 2025
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.46 KB | Source Code | 0 0
  1. YOU WILL NEED 2 TIMERS:
  2. TIMER 1 INTERVAL: 15000
  3. TIMER 2 INTERVAL: 4000
  4.  
  5. Imports System.IO
  6. Imports System.Runtime.InteropServices
  7.  
  8. Public Class Form1
  9.  
  10.  
  11. #Region "Melting Screen"
  12.  
  13. Private Shared screenWidth As Integer
  14.  
  15. Private Shared screenHeight As Integer
  16.  
  17. Const SM_CXSCREEN As Integer =
  18. 0
  19. Const SM_CYSCREEN As Integer =
  20. 1
  21. Const WS_EX_TOPMOST As UInteger =
  22. &H8
  23. Const WS_POPUP As UInteger =
  24. &H80000000UI
  25. Const WM_CREATE As UInteger =
  26. &H1
  27. Const WM_CLOSE As UInteger =
  28. &H10
  29. Const WM_PAINT As UInteger =
  30. &HF
  31. Const WM_DESTROY As UInteger =
  32. &H2
  33. Const SRCCOPY As UInteger =
  34. &HCC0020
  35.  
  36. Private Shared ReadOnly HWND_DESKTOP As IntPtr =
  37. IntPtr.Zero
  38.  
  39. <StructLayout(LayoutKind.Sequential)>
  40. Public Structure POINT
  41. Public X As Integer
  42. Public Y As Integer
  43. End Structure
  44.  
  45. <StructLayout(LayoutKind.Sequential)>
  46. Public Structure MSG
  47. Public hwnd As IntPtr
  48. Public wParam As IntPtr
  49. Public lParam As IntPtr
  50. Public message As UInteger
  51. Public time As UInteger
  52. Public pt As POINT
  53. End Structure
  54.  
  55. <StructLayout(LayoutKind.Sequential,
  56. CharSet:=CharSet.Unicode)>
  57. Friend Structure WNDCLASS
  58. Public style As UInteger
  59. Public lpfnWndProc As IntPtr
  60. Public cbClsExtra As Integer
  61. Public cbWndExtra As Integer
  62. Public hInstance As IntPtr
  63. Public hIcon As IntPtr
  64. Public hCursor As IntPtr
  65. Public hbrBackground As IntPtr
  66. <MarshalAs(UnmanagedType.LPWStr)>
  67. Public lpszMenuName As String
  68. <MarshalAs(UnmanagedType.LPWStr)>
  69. Public lpszClassName As String
  70.  
  71. End Structure
  72.  
  73. <DllImport("user32.dll")>
  74. Public Shared Function GetSystemMetrics(nIndex As Integer) As Integer
  75. End Function
  76.  
  77.  
  78. <DllImport("user32.dll", SetLastError:=True,
  79. CharSet:=CharSet.Unicode)>
  80. Private Shared Function RegisterClassW(
  81. <[In]> ByRef lpWndClass As WNDCLASS) As UShort
  82. End Function
  83.  
  84.  
  85. <DllImport("user32.dll", SetLastError:=True,
  86. CharSet:=CharSet.Unicode)>
  87. Private Shared Function LoadCursorW(hInstance As IntPtr,
  88. lpCursorName As IntPtr) As IntPtr
  89. End Function
  90.  
  91. <DllImport("user32.dll")>
  92. Private Shared Function GetDC(hWnd As IntPtr) As IntPtr
  93. End Function
  94.  
  95. <DllImport("user32.dll")>
  96. Private Shared Sub PostQuitMessage(nExitCode As Integer)
  97. End Sub
  98.  
  99. <DllImport("user32.dll")>
  100. Private Shared Function DefWindowProc(hWnd As IntPtr,
  101. Msg As UInteger,
  102. wParam As IntPtr,
  103. lParam As IntPtr) As IntPtr
  104. End Function
  105.  
  106. <DllImport("user32.dll", SetLastError:=True)>
  107. Private Shared Function CreateWindowExW(
  108. dwExStyle As UInteger,
  109. <MarshalAs(UnmanagedType.LPWStr)> lpClassName As String,
  110. <MarshalAs(UnmanagedType.LPWStr)> lpWindowName As String,
  111. dwStyle As UInteger,
  112. x As Integer,
  113. y As Integer,
  114. nWidth As Integer,
  115. nHeight As Integer,
  116. hWndParent As IntPtr,
  117. hMenu As IntPtr,
  118. hInstance As IntPtr,
  119. lpParam As IntPtr) As IntPtr
  120. End Function
  121.  
  122. <DllImport("user32.dll", SetLastError:=True)>
  123. Private Shared Function GetMessage(<Out> ByRef lpMsg As MSG,
  124. hWnd As IntPtr,
  125. wMsgFilterMin As UInteger,
  126. wMsgFilterMax As UInteger) As Integer
  127. End Function
  128.  
  129. <DllImport("user32.dll", SetLastError:=True)>
  130. Private Shared Function SetTimer(hWnd As IntPtr,
  131. nIDEvent As IntPtr,
  132. uElapse As UInteger,
  133. lpTimerFunc As TimerProc) As IntPtr
  134. End Function
  135. Friend Delegate Sub TimerProc(hWnd As IntPtr,
  136. uMsg As UInteger,
  137. nIDEvent As IntPtr,
  138. dwTime As UInteger)
  139.  
  140. <DllImport("user32.dll", SetLastError:=True)>
  141. Private Shared Function TranslateMessage(
  142. <[In]> ByRef lpMsg As MSG) As Boolean
  143. End Function
  144.  
  145. <DllImport("user32.dll", SetLastError:=True)>
  146. Private Shared Function DispatchMessage(
  147. <[In]> ByRef lpMsg As MSG) As IntPtr
  148. End Function
  149.  
  150. <DllImport("user32.dll")>
  151. Private Shared Function ReleaseDC(hWnd As IntPtr,
  152. hDC As IntPtr) As Integer
  153. End Function
  154.  
  155. <DllImport("user32.dll")>
  156. Private Shared Function ValidateRect(hWnd As IntPtr,
  157. lpRect As IntPtr) As Boolean
  158. End Function
  159.  
  160. <DllImport("user32.dll", SetLastError:=True)>
  161. Private Shared Function KillTimer(hWnd As IntPtr,
  162. uIDEvent As IntPtr) As Boolean
  163. End Function
  164.  
  165. <DllImport("gdi32.dll", SetLastError:=True)>
  166. Private Shared Function BitBlt(hdcDest As IntPtr,
  167. nXDest As Integer,
  168. nYDest As Integer,
  169. nWidth As Integer,
  170. nHeight As Integer,
  171. hdcSrc As IntPtr,
  172. nXSrc As Integer,
  173. nYSrc As Integer,
  174. dwRop As UInteger) As Boolean
  175. End Function
  176.  
  177. <DllImport("user32.dll")>
  178. Private Shared Function ShowWindow(hWnd As IntPtr,
  179. nCmdShow As Integer) As Boolean
  180. End Function
  181.  
  182. <DllImport("kernel32.dll")>
  183. Private Shared Function GetConsoleWindow() As IntPtr
  184. End Function
  185.  
  186. Friend Delegate Function WndProcDelegate(hWnd As IntPtr,
  187. uMsg As UInteger,
  188. wParam As IntPtr,
  189. lParam As IntPtr) As IntPtr
  190.  
  191. #End Region
  192.  
  193. Private ReadOnly fileName As String =
  194. Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
  195.  
  196. Private ReadOnly path As String =
  197. "\WARNING.txt"
  198.  
  199. Private Sub Form1_Load(sender As Object,
  200. e As EventArgs) Handles MyBase.Load
  201.  
  202. TEXT_CREATOR_HOST()
  203.  
  204. End Sub
  205.  
  206. Private Sub Screen_Morph()
  207.  
  208. Dim hWndConsole As IntPtr =
  209. GetConsoleWindow()
  210.  
  211. screenWidth =
  212. GetSystemMetrics(SM_CXSCREEN)
  213.  
  214. screenHeight =
  215. GetSystemMetrics(SM_CYSCREEN)
  216.  
  217. Dim hInstance =
  218. Marshal.GetHINSTANCE(GetType(Application).Module)
  219.  
  220. Dim wndClass As New WNDCLASS With {
  221. .style =
  222. 0,
  223. .lpfnWndProc =
  224. Marshal.GetFunctionPointerForDelegate(New WndProcDelegate(AddressOf WndProc)),
  225. .cbClsExtra =
  226. 0,
  227. .cbWndExtra =
  228. 0,
  229. .hInstance =
  230. hInstance,
  231. .hIcon =
  232. IntPtr.Zero,
  233. .hCursor =
  234. LoadCursorW(IntPtr.Zero,
  235. New IntPtr(32512)), '<< IDC_ARROW
  236. .hbrBackground =
  237. IntPtr.Zero,
  238. .lpszMenuName =
  239. "",
  240. .lpszClassName =
  241. "MeltingScreen"
  242. }
  243.  
  244. Dim classAtom =
  245. RegisterClassW(wndClass)
  246.  
  247. If classAtom =
  248. 0 Then
  249. Dim [error] As Integer =
  250. Marshal.GetLastWin32Error()
  251. Debug.WriteLine("Error",
  252. +[error])
  253. Else
  254. Dim hWnd =
  255. CreateWindowExW(WS_EX_TOPMOST,
  256. wndClass.lpszClassName,
  257. "MyWindow",
  258. WS_POPUP,
  259. 0,
  260. 0,
  261. screenWidth,
  262. screenHeight,
  263. HWND_DESKTOP,
  264. IntPtr.Zero,
  265. hInstance,
  266. IntPtr.Zero)
  267.  
  268. Dim msg As MSG
  269.  
  270. While GetMessage(msg,
  271. IntPtr.Zero,
  272. 0,
  273. 0) <> 0
  274.  
  275. TranslateMessage(msg)
  276.  
  277. DispatchMessage(msg)
  278.  
  279. End While
  280.  
  281. End If
  282.  
  283. End Sub
  284.  
  285. Private Shared Sub TimerCallback(hWnd As IntPtr,
  286. uMsg As UInteger,
  287. nIDEvent As IntPtr,
  288. dwTime As UInteger)
  289. Dim Wnd =
  290. GetDC(hWnd)
  291.  
  292. Dim random As New Random()
  293.  
  294. Dim x As Integer =
  295. random.[Next](0,
  296. screenWidth) - 200 / 2
  297. Dim y =
  298. random.[Next](0,
  299. 15)
  300. Dim width =
  301. random.[Next](0,
  302. 200)
  303. BitBlt(Wnd,
  304. x,
  305. y,
  306. width,
  307. screenHeight,
  308. Wnd,
  309. x,
  310. 0,
  311. SRCCOPY)
  312.  
  313. ReleaseDC(hWnd, Wnd)
  314.  
  315. End Sub
  316.  
  317. Private Shared Function WndProc(hWnd As IntPtr,
  318. uMsg As UInteger,
  319. wParam As IntPtr,
  320. lpParam As IntPtr) As IntPtr
  321.  
  322. Select Case uMsg
  323.  
  324. Case WM_CREATE
  325.  
  326. Dim Desktop =
  327. GetDC(HWND_DESKTOP)
  328.  
  329. Dim Window =
  330. GetDC(hWnd)
  331.  
  332. BitBlt(Window,
  333. 0,
  334. 0,
  335. screenWidth,
  336. screenHeight,
  337. Desktop,
  338. 0,
  339. 0,
  340. SRCCOPY)
  341.  
  342. ReleaseDC(hWnd,
  343. Window)
  344.  
  345. ReleaseDC(HWND_DESKTOP,
  346. Desktop)
  347.  
  348. SetTimer(hWnd,
  349. IntPtr.Zero,
  350. 100,
  351. New TimerProc(AddressOf TimerCallback))
  352.  
  353. ShowWindow(hWnd, 5)
  354.  
  355. Case WM_PAINT
  356. ValidateRect(hWnd, IntPtr.Zero)
  357.  
  358. Case WM_DESTROY
  359. KillTimer(hWnd, IntPtr.Zero)
  360.  
  361. PostQuitMessage(0)
  362.  
  363. Case WM_CLOSE
  364. KillTimer(hWnd,
  365. IntPtr.Zero)
  366.  
  367. PostQuitMessage(0)
  368.  
  369. Case Else
  370.  
  371. Return DefWindowProc(hWnd,
  372. uMsg,
  373. wParam,
  374. lpParam)
  375.  
  376. End Select
  377.  
  378. Return IntPtr.Zero
  379.  
  380. End Function
  381.  
  382. 'THIS SENDS A TEXT FILE TO TARGETED HOST AND OPENS ITSELF AFTER
  383. Private Sub TEXT_CREATOR_HOST()
  384.  
  385. Timer1.Start()
  386.  
  387. Using writer As New StreamWriter(fileName & path,
  388. True)
  389. writer.Write(vbCrLf & "WELCOME TO MELTING SCREEN:" &
  390. vbNewLine)
  391. writer.Write("MELTING SCREEN INITIATING..." &
  392. vbNewLine)
  393. writer.WriteLine("TO CLOSE, HIT YOUR WINDOW KEY," & "RIGHT CLICK YOUR APP IN TASKBAR TO CLOSE" &
  394. vbNewLine)
  395. writer.WriteLine(" " &
  396. vbNewLine)
  397. writer.Write("HOPE YOU ENJOYED THE VIDEO" &
  398. vbNewLine)
  399. writer.WriteLine("MORE PROJECTS COMING SOON")
  400.  
  401. writer.WriteLine($"{vbNewLine &
  402. vbNewLine & Date.Now.ToLongTimeString()}
  403. {Date.Now.ToLongDateString()}")
  404. writer.Flush()
  405.  
  406. writer.Close()
  407.  
  408. End Using
  409.  
  410. End Sub
  411.  
  412. Private Sub Timer1_Tick(sender As Object,
  413. e As EventArgs) Handles Timer1.Tick
  414. Screen_Morph()
  415.  
  416. End Sub
  417.  
  418. Private Sub Timer2_Tick(sender As Object,
  419. e As EventArgs) Handles Timer2.Tick
  420.  
  421. 'OPEN MESSAGE AFTER IT'S CREATION
  422. 'Desktop Path
  423. Dim desktopPath =
  424. My.Computer.FileSystem.SpecialDirectories.Desktop
  425.  
  426. ' Concatenate desktop path and file name
  427. Dim filePath =
  428. desktopPath &
  429. "/WARNING.txt"
  430.  
  431. Process.Start(filePath)
  432.  
  433. Timer2.Stop()
  434.  
  435. End Sub
  436.  
  437. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement