Facebook
From Q3PE4ドロップ対策, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 540
  1. 1.BonDriverProxyEx.cppにコードを追加してビルド
  2. // bat実行機能をつける
  3. // 2行目の#include "BonDriverProxyEx.h"の下
  4. #include <Windows.h>
  5. #pragma comment(lib, "shell32.lib")
  6.  
  7. // ダミー実行状態を判定する変数
  8. // 21行目のstatic int Init(HMODULE hModule)の上
  9. static int g_Dummy = 1;
  10.  
  11. // ダミー以外に使用中のチューナーがなければクローズ
  12. // 259行目のif (bRelease)の上
  13.         if (g_InstanceList.size() == 8)
  14.         {
  15.                 g_Dummy = 1;
  16.                 HINSTANCE bat = ShellExecute(NULL, L"open", L"cmd.exe", L"/c DummyClose.bat", NULL, SW_HIDE);
  17.         }
  18.  
  19. // ダミーが起動していなければ実行
  20. // 412行目のmakePacket(eSelectBonDriver, b);の上
  21.                                         if (g_Dummy)
  22.                                         {
  23.                                                 g_Dummy = 0;
  24.                                                 HINSTANCE bat = ShellExecute(NULL, L"open", L"cmd.exe", L"/c DummyOpen.bat", NULL, SW_HIDE);
  25.                                         }
  26. 2.batを作成
  27. DummyOpen.bat
  28. // 手動実行時の多重起動回避のためDummyOpen.batかTSTaskを実行中なら終了
  29. // timeout2秒はクローズとオープンのタイミングが重なってダミーが終了するのを回避するため
  30. // クライアントのみでCS複数視聴した時ダミーがTSTaskx8だとドロップ再発するので1つだけTVTestにしている
  31. tasklist /fi "windowtitle eq DummyOpen" | find "cmd.exe" >nul
  32. if %errorlevel% == 0 exit
  33. title DummyOpen
  34. tasklist | find "TSTask.exe" >nul
  35. if %errorlevel% == 0 exit
  36. timeout 2
  37. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_S.dll
  38. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_S.dll
  39. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_S.dll
  40. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_S.dll
  41. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_T.dll
  42. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_T.dll
  43. start "" "C:\BonDriverProxyExのフォルダ\TSTask.exe" /xclient- /d BonDriverProxyEx_T.dll
  44. start "" "C:\BonDriverProxyExのフォルダ\TVTest.exe" /noplugin /d BonDriverProxyEx_T.dll /min /noshow
  45. exit
  46.  
  47. DummyClose.bat
  48. // 外側はダブル、内側はシングルクォート
  49. // フォルダパスは\\でつなぐ
  50. wmic process where "executablepath = 'C:\\BonDriverProxyExのフォルダ\\TSTask.exe'" delete
  51. wmic process where "executablepath = 'C:\\BonDriverProxyExのフォルダ\\TVTest.exe'" delete
  52. exit
  53.  
  54. 3.BonDriverProxyExのフォルダに以下を配置
  55. // TSTaskx8にするならch2とTVTestは不要
  56. BonDriverProxyEx_S.dll
  57. BonDriverProxyEx_S.ini
  58. BonDriverProxyEx_T.ch2
  59. BonDriverProxyEx_T.dll
  60. BonDriverProxyEx_T.ini
  61. ビルドしたBonDriverProxyEx.exe
  62. DummyClose.bat
  63. DummyOpen.bat
  64. TSTask.exe
  65. TVTest.exe