Skip to content
blirfbla-labPublic

About

i made some stupid thing w/ deepseek and a buddy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Do You Love Him

A fullscreen Windows joke app. Double-click DoYouLoveHim.exe.

What it does

  1. Opens fullscreen with a portrait and asks "Do you love him?"
  2. NO → a klaxon alarm loops and the screen strobes for 3 seconds between the portrait, mad jeff, lol, a red-tinted portrait, white and black. Then it says "Try again." and you can answer again.
  3. YES → it says "Good job." and shows happy jeff.jpg.

You cannot close it until you say YES

While the question is on screen the window refuses to close:

  • the close button / system menu is removed (ControlBox = false)
  • Esc is swallowed
  • Alt+F4 is swallowed
  • Ctrl+W is swallowed
  • the underlying FormClosing event is cancelled, so even a shell close request is ignored

The only way out is to press YES, after which Esc works again. If you ever need to force it down, use Task Manager (Ctrl+Shift+Esc).

Keyboard: Y / Enter = yes, N = no.

Requirements

Nothing to install. The exe is tiny (~14 KB) because it uses the .NET Framework that ships with Windows 10/11.

The app declares itself DPI-aware at startup. Without that, Windows virtualises the process on a scaled display and the fullscreen window comes out far shorter than the real screen, so the strobe only covers a strip at the top. It fills the primary monitor (\\\\.\\DISPLAY2 here, a 3440x1440 ultrawide); a secondary monitor is left alone.

Two builds

File Use it for
DoYouLoveHim-Portable.exe Sending to someone. One self-contained file — all images and audio are embedded. Nothing else needed.
DoYouLoveHim.exe Running locally with swappable assets, which are read from images\ and audio\ next to the exe.

Both exes are built from the same src\Program.cs. SendToFriend\ (and DoYouLoveHim-SendToFriend.zip) contains just the portable exe plus a short plain-text note for the recipient.

Sending it

Zip and send SendToFriend\, or just the single DoYouLoveHim-Portable.exe. The recipient does not need the images\ or audio\ folders, the src\ folder, or anything else.

DoYouLoveHim-Portable.exe self-tests fine from an empty directory and from a freshly extracted zip, so a plain email attachment or chat upload works.

Swapping the images and sound

Drop your own files over these (keep the exact names, inside images\):

File Used for
images\base.jpg the portrait on the question screen
images\mad_jeff.jpg strobe frame on NO
images\lol.jpg strobe frame on NO
images\happy_jeff.jpg the reward shown after YES
audio\alarm.wav loops while the screen flashes
audio\win.wav plays on YES

mad_jeff.jpg and lol.jpg are optional — delete one and the strobe just skips that frame. base.jpg, happy_jeff.jpg and both WAVs are required.

Names may use an underscore or a space (happy_jeff.jpg or happy jeff.jpg); both are found. Underscores are preferred because the C# compiler cannot embed a resource whose file name contains a space, so spaced names cannot go into the portable build.

DoYouLoveHim.exe looks for these paths relative to its own location, so it works no matter what folder you launch it from, but it must be kept together with images\ and audio\.

Rebuilding

_tools\build.bat

That recompiles both exes with the C# compiler that ships with Windows (%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe). The portable build passes the assets with /resource:, which is why the file names cannot contain spaces.

Checks you can run:

DoYouLoveHim.exe --selftest        # verifies every asset loads; prints PASS/FAIL
DoYouLoveHim.exe --smoke-yes       # drives the YES path unattended, then exits
DoYouLoveHim.exe --smoke-no        # drives the NO path unattended, then exits
DoYouLoveHim.exe --smoke-no-lock   # also proves Esc/Alt+F4/Close() are refused

The same switches work on DoYouLoveHim-Portable.exe, which is how the embedded assets are verified without the images\ and audio\ folders present.

--smoke-no-lock is how the close lock is verified without a human: it simulates each close attempt and prints whether it was swallowed.

Credits

  • audio\alarm.wav and audio\win.wav — synthesised by _tools\make_assets.py.
  • _tools\preview\ — PNG mockups of each screen, rendered by _tools\Preview.cs.
  • base.jpg, mad jeff.jpg, lol.jpg, happy jeff.jpg — supplied by the user.

About

i made some stupid thing w/ deepseek and a buddy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages