DS4Windows - J2K
(08-01-2015, 07:55 PM)Vanquo Wrote: 2. Sign Out.
3. Sign In.

It's not actually that painless for me :/
Because all chats logs from steam + active apps are screwed in the process. Still so far the games I played didn't have any problems (I didn't play a lot tho).

Sponsored links

Good to see that you guys are getting the workaround to be a little less of a hassle, I've been too busy to even try the workaround, but at some point I'll try to post the workaround on the site so it will be easier to find in the future.

Version 1.4.269
Fixed trying to edit actions with Xbox Game DVR
Fixed Hide DS4 crashing DS4Windows on 64-bit machines
I wonder if you can make DS4Windows run as a service so it starts before Network List Service while spoofing the Hardware ID of controllers that were connected beforehand. This makes it so DS4Windows has priority over the controller and not whatever Windows Service that prevents it from having exclusive access.

I'm no programmer or anything. Just an idea I thought makes sense.

Edit:
Actually according to this post by Vallaqan on inputmapper forums https://inputmapper.com/forum/4/614?start=50#p3553 you just need to have DS4Windows start before Network List Service. Don't even need to have controller attached before that. You can do this via Task Scheduler.

So basically make a BAT file again like I mentioned before but make it like this:
Code:
start C:\"Program Files"\DS4Windows\DS4Windows.exe
timeout /t 5 /nobreak
sc config netprofm start= demand
sc start netprofm
sc config netprofm start= disabled

Add the Batch file in Task Scheduler as a program that should run when you log on with a delay of 30 seconds. Delay can be possibly less but this is to make sure DS4Windows actually starts before the service because services startup faster than regular applications.

Just make sure Network List Service is disabled initially like before. You can click on the batch file to do so. Reboot and watch the magic happen. Confirmed it works. Its like this bug never happened.

Vallaqan's batch file on the inputmapper forums includes the dependencies HomeGroupProvider and NcdAutoSetup but I found that it wasn't necessary as they stop and start automatically when Network List Service is started/stopped. So my version is more simplified. Also all 3 of those services default states are manual/demand not auto. Just an OCD thing Laugh

Edit2: doh! Just like Vallaqan, I was running with UAC completely disabled. For everyone else with regular UAC enabled, make sure to tick the option 'Run with highest privileges'. It's under the General tab security options of the task properties. It runs the batch file elevated just like when an executable is started with 'Run as Administrator'.

Us power users like to turn off UAC and tweak the OS unhindered... security be damned lol.
I'll Just copy paste Vallaqan's steps for inputmapper with words changed to fit DS4Windows. Basically a batch file that's scheduled to run on startup so that DS4Windows is launched before Network List Service is started. Both 'Hide DS4' and Start Menu Search/Cortana should work properly as a result. Services are also automatically disabled on startup for the next reboot. You can pretty much forget about it after that.
Source: https://inputmapper.com/forum/4/614?start=50#p3553

Batch file:
1) Paste the code into notepad and click Save As...
2) Change Save as type to All Files
3) Save the file somewhere you will remember with the name DS4WindowsFix.bat. I just saved it to C:\ to make it easy to find.

Scheduled task:
1) Go into the start menu and go into Task Scheduler
2) Right click Task Scheduler Library and click Create Basic Task
3) Give it a descriptive name and click Next
4) Change the trigger to When I log on and click Next
5) Leave Action on the default to start a program and click Next
6) Browse to where you saved your batch file, select it, and click Next
7) Check the box for Open the Properties dialog for this task when I click Finish and click Finish
8) Check the box for Run with highest privileges
9) Click the Triggers tab and click Edit...
10) Check the box for Delay task for: and change it to 30 seconds
11) Right click your newly created task and click Run
12) Reboot...

Code:
start C:\"Program Files (x86)"\DS4Windows\DS4Windows.exe
timeout /t 5 /nobreak
sc config netprofm start= demand
sc config NcdAutoSetup start= demand
sc config HomeGroupProvider start= demand
sc start netprofm
sc start NcdAutoSetup
sc start HomeGroupProvider
sc config netprofm start= disabled
sc config NcdAutoSetup start= disabled
sc config HomeGroupProvider start= disabled

Important info about the delay:
Quote:doubleluckstur wrote:Although just a word of warning to everyone out there: If something tries to use the internet connection as this script is run, it won't work. For me, Razer Surround was trying to sync settings after 30 seconds which was causing this to bug out and not lock exclusive mode, so I had to switch it to 1 minute delay, but it works now so I'm happy [Image: icon_e_smile.gif]

Edit: added timeout delay after DS4Windows.exe to give it time to actually run before the services. You can probably enable the 'Run at Startup' option in DS4Windows own settings for redundancy.
There's absolutely no reason I can find to disable all that. The only one that seems to do anything is Network List Services, which is incredibly tame.
CPU: i5 3570k @ 4.2 | RAM: 8GB DDR3 | GPU: 1GB Radeon HD5550 @ Stock
Running: 1.1.0.5764
(08-02-2015, 03:04 PM)Gvaz Wrote: There's absolutely no reason I can find to disable all that. The only one that seems to do anything is Network List Services, which is incredibly tame.

The other 2 services depend on Network List Service to even run. So it doesn't really matter. I just copy pasted what was there for posterity. It's just in case for some reason they don't start or stop on their own. You may only disable just 'netprofm' like I mentioned a post before.
That fix only works the first time after I restart. If I disconnect and reconnect the controller then "wireless controller" shows back up.
(08-02-2015, 05:40 PM)youturnjason Wrote: That fix only works the first time after I restart. If I disconnect and reconnect the controller then "wireless controller" shows back up.
I wondered why this was since it works for me but then I realized I didn't test USB wired connection at all. So when I plugged in the controller with a USB cable, exclusive mode did not work. Then I tried Bluetooth again and it worked. Back to USB and it doesn't. It was odd.

So I restarted and tried it again. This time both Bluetooth and USB kept working after disconnecting and reconnecting. I played Dark Souls, SFIV, Ori and started up uplay/steam/origin, but both Bluetooth and USB still works with exclusive mode after disconnect and disconnect.

So besides that one time with USB connection failing to hide, I'm not sure. But I guess wireless is more reliable from what I can tell from the first test.

update:
Okay after awhile of playing and doing other stuff on my PC. The wired USB connection loses ability to Hide DS4. I actually see 2 duplicate wireless controllers along with the emulated xbox360 when plugged in USB. However, Bluetooth still works fine with Hide DS4.

To test a theory that its because its the Bluetooth pairing that's always active is what keeps Hide DS4 working, I unpaired the 'Wireless Controller' from the bluetooth menu. Sure enough when I re-paired, I got the error of DS4 exclusive mode not working.

However if I do the PS button + options button method of disconnecting, I can reconnect and Hide DS4 just fine since Bluetooth is still paired with my controller. PS + options disconnects and shuts off power on controller but Windows still remembers the pairing.

I'm just gonna assume that people who use DS4Windows or inputmapper, half them actually unpair the bluetooth from their controller to disconnect and another half uses PS + options. That's why we have the conflicting reports.

Wired mode IS iffy though. Sometime requires disabling Network List Service again and relog or reboot.

In short, workaround works if using bluetooth and disconnecting with PS +options. Wired and jank method of disconnecting bluetooth is no good.
Interesting. Now I see why everything seems to be perfect on my end with the new Batch File. I'm using my DS4 via BT and use PS+Options to disconnect.
That doesn't seem to be the case for me. I exclusively use bluetooth. I press the PS button after the task has run and the controller connects in exclusive mode just fine, but then I press PS+options to disconnect, then press the PS button again, and no more exclusive mode. Strange that it works for you guys.

EDIT: Nevermind, it seems if you disconnect and reconnect too quickly you lose exclusive mode. Leaving the controller disconnected for 10 seconds then pressing the PS button to reconnect seems to work fine.. Weird




Users browsing this thread: 5 Guest(s)