Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #93255 : KickVice
2016-06-25 22:27
Shadow
Account closed

Registered: Apr 2002
Posts: 355
Release id #93255 : KickVice

Useful tool that I've been using for a long time now.
However, ran into a problem now where I want to switch to using x64sc.exe for extra accurate emulation, however KickVice only looks for the x64.exe process, resulting in that once I associate .prg with x64sc.exe, Kickvice will spawn a new instance of the emulator for every start.
Maybe x64sc-support could be added as an option?
2016-06-25 22:36
chatGPZ

Registered: Dec 2001
Posts: 11387
just use the remote monitor feature of VICE
2016-06-26 03:40
Skate

Registered: Jul 2003
Posts: 495
wouldn't renaming x64sc.exe -> x64.exe work? yeah, it's not the cleanest solution but still...
2016-06-26 17:50
chatGPZ

Registered: Dec 2001
Posts: 11387
you should probably do that in any case :=)
2016-06-27 18:38
Shadow
Account closed

Registered: Apr 2002
Posts: 355
Skate: Doh! That is a solution so easy that it did not occur to me at all. Thanks! :)
2016-06-28 22:44
Shadow
Account closed

Registered: Apr 2002
Posts: 355
Well, turns out it wasn't that easy after all. Kickvice seems to find the running instance using some method that doesn't involve the name of the .exe file, because the rename trick didn't work.
2016-06-29 02:07
Skate

Registered: Jul 2003
Posts: 495
Hmm, maybe he used the full process name / class name or something similar. I just checked my codes to see how i had sent keyboard messages to Vice and found this code below (this function was part of "Kinternational Karate" which you can find at Pouet). It works both with x64.exe and x64sc.exe. Pantaloon might use a similar way if he decides to update KickVice.

	private: void SendKeyToVice(BYTE vk, bool extendedKey) {
		// find window with "VICE" class name
		// and get its window handle
		HWND hwnd = FindWindow(L"VICE", nullptr);
		if(hwnd != nullptr) { // if any window returned
			// set focus to VICE window
			SetForegroundWindow(hwnd);
			// send key down event for the key
			keybd_event(vk,
						MapVirtualKey(vk, MAPVK_VK_TO_VSC),
						(extendedKey ? KEYEVENTF_EXTENDEDKEY : 0),
						0);
			// wait for a while
			Sleep(keyPressDuration);
			// send key up event for the key
			keybd_event(vk,
						MapVirtualKey(vk, MAPVK_VK_TO_VSC),
						(extendedKey ? KEYEVENTF_EXTENDEDKEY : 0) | KEYEVENTF_KEYUP,
						0);
		}
	}
2016-06-29 02:47
chatGPZ

Registered: Dec 2001
Posts: 11387
*makes note to randomly change the window name at each startup*
2016-06-29 03:10
Skate

Registered: Jul 2003
Posts: 495
HWND hwnd = FindWindow(generateRandomString(), nullptr);


Solved. You can't imagine how lucky i am. :D
2016-06-29 16:31
chatGPZ

Registered: Dec 2001
Posts: 11387
=D
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Case/Padua
TCE/Hokuto Force
xIII/ATL/WOW
Mojzesh/TGR🇬🇧
Guests online: 109
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.6)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Sprite Bukkake 2  (9.6)
9 Uncensored  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.7)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Xmas 2023 Silent Night  (9.5)
6 Katzen-Video.mp4  (9.5)
7 Rainbow Connection  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Fairlight  (9.3)
5 Triad  (9.3)
Top Logo Graphicians
1 t0m3000  (10)
2 Sander  (9.8)
3 Mermaid  (9.5)
4 Shine  (9.4)
5 Pal  (9.4)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.052 sec.