Spyke

Replies

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

I’ve been practicing my "API Abuse" skills and created a desktop toy that gives your windows "fragility" consequences.

The Cursed Technical Details Areeeee:

  • The Mouse Thief: To prevent a "teleportation" bug when the window shatters, I’m using user32.dll to send a MOUSEEVENTF_LEFTUP signal. It literally prys the window out of your hand if you drag it too fast.
  • The Snapshot: It uses DwmGetWindowAttribute to find the exact frame bounds (ignoring those invisible Windows shadows) , takes a screen capture, and replaces the real window with a WPF PhysicsCanvas.
  • The Physics: Each shard is a Polygon shape with its own VelocityY (gravity) and RotationSpeed.

The Chaos (Warning: LOUD Audio): The GIF is silent, but I recorded a short demo with "m e m e" sound here: https://youtube.com/shorts/9bTcgtLpOXQ

The Project Page: If you want to break your own desktop, I put a free lite version on Itch. It also supports custom .wav modding if you want to swap the sounds for your own stuff. https://erza-lotus-arcane.itch.io/please-drag-me-gently

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

Haha, I appreciate the backup! Honestly, I totally get why the other person was annoyed—using multiple accounts was a really clumsy/noob way for me to try and find the right community for this. I'm just a solo dev who is way better at C# than I am at 'marketing.' Just glad to finally find a crowd that appreciates the 'cursed' nature of the app!

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

Thanks a lot. Being appreciated after weeks of researching the logic behind (even this is just a joke app lol) really means a lot to me. Also, I'm not trying to hide any of my mistakes while using Lemmy, even though they are not my intention, and I have just used the Lemmy platform for more than 1 week. But I do believe it is still my fault for not understanding this earlier. I will take this as a lesson for future actions instead of just relying on the servers/communities rules. And also make my words less formal just letting you know im not a clanker lol. Thanks again for your motivation and support. ^.^

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

man i can't win lol. i literally just tried to reply to this but my comment got nuked by the auto-mod for 'profanity.'

but yeah, you caught me—i’m from vietnam and my english is shaky, so i’ve been using tools to polish my grammar because i didn't want to look like a sketchy spammer. turns out over-polishing it just makes me look like a 'clanker' anyway.

i'll stop trying to sound professional and just stick to my actual brain. i'm a real dev, just bad at the social part of the internet. my bad.

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

Honestly, I have no idea what you are thinking right now. It sounds like the more I try to explain, the more I'm getting accused of. The purpose of this post is to be funny, yes. But also to share my technical project while still using the correct terminology to create a clear communication and understanding of both the creator and the viewers (yes, I spent a lot of time thinking if using this 'word' is correct or not because English is not my native language! But it seems like those efforts backfired on me). I do not offend you or anything, but I would prefer any other positive words or any coding question, so that others can not just laugh, but learn new things too, instead of keeping focus on this topic.

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

That’s a beautiful way to put it. I definitely went from "how do I move a polygon" to "wait, why does this feel like it has weight?" in about 10 lines of code. It’s wild how much of the physical world is just hidden in a simple $v += g$ loop. Definitely an "ah hah!" moment I won't forget. 〒▽〒

Comment on

I finally figured out how to track window velocity, so I used user32.dll to forcefully unclick my mouse and shatter the UI as a "punishment".

Reply in thread

Caught me. English isn't my first language (I'm from Vietnam), so I’ve been using tools to help me fix my grammar because I didn't want to sound like a 2005 spam email.

I guess I over-polished it and ended up sounding like a 'clanker' anyway lol. Just a real guy trying to share a project without looking like a total idiot. I'll stick to my actual broken English from now on. ¯_(ツ)_/¯