 |
|

29.01.2020, 19:14
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
парни, написал прграмму чтоб открывать дисковод (подсмотрел у DarkP1xel`я) но на других компьютерах не запускается, и пишет что нет vcruntime140d.dll
ИМенно 140D а не просто 140
скорее всего я чо то не так накодил. Помогите исправить
C:
Код:
#include "stdafx.h"
#include "windows.h"
typedef
DWORD
(
WINAPI
*
PGNSI
)
(
LPCTSTR
,
LPTSTR
,
UINT
,
HANDLE
)
;
PGNSI Binput
;
int
main
(
)
{
DWORD uReturnVal
;
HMODULE hdll
=
LoadLibrary
(
L
"Winmm.DLL"
)
;
Binput
=
(
PGNSI
)
GetProcAddress
(
hdll
,
"mciSendStringA"
)
;
//0 0 0 "Set cdaudio door closed wait" 27@
uReturnVal
=
Binput
(
L
"Set cdaudio door closed wait"
,
0
,
0
,
0
)
;
//FreeLibrary(hdll);
return
0
;
}
|
|
|

29.01.2020, 19:38
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
|
|
|

29.01.2020, 19:55
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Dark_Knight
Эта ошибка говорит, что у них нет vcruntime140d.dll, а не что твой код кривой
А буква d в названии библиотеки говорит, что он скомпилировал бинарь в debug-режиме, и не факт, что в MSVCPPRP поставляются debug-бинари, так что, прежде, чем пихать MSVCPPRP надо перекомпилить в release
|
|
|

29.01.2020, 20:05
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от SR_team
А буква d в названии библиотеки говорит, что он скомпилировал бинарь в debug-режиме, и не факт, что в MSVCPPRP поставляются debug-бинари, так что, прежде, чем пихать MSVCPPRP надо перекомпилить в release
Че проебался с буквой D 
|
|
|

29.01.2020, 20:19
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Сообщение от SR_team
А буква d в названии библиотеки говорит, что он скомпилировал бинарь в debug-режиме, и не факт, что в MSVCPPRP поставляются debug-бинари, так что, прежде, чем пихать MSVCPPRP надо перекомпилить в release
теперь программа работает, но свою функцию не выполняет, всё таки я чо то не то, сделал, помогите починить пж
ссылка на описание функции - https://docs.microsoft.com/en-us/previous-versions/dd757161(v=vs.85)
Сообщение от Спойлер
Описание:Открывает дисковод ;D.
Использование:0AB1: call_scm_func @mciSendString 0
CLEO:
Код:
:mciSendString
0AA2:
25@
= load_library
"Winmm.DLL"
0AA4:
26@
= get_proc_address
"mciSendStringA"
library
25@
0AA7:
call_function
26@
num_params
4
pop
0
0
0
0
"Set cdaudio door open wait"
27@
0AA3:
free_library
25@
0AB2:
ret
0
Описание:Закрывает дисковод .
Использование:0AB1: call_scm_func @mciSendString 0
CLEO:
Код:
:mciSendString
0AA2:
25@
= load_library
"Winmm.DLL"
0AA4:
26@
= get_proc_address
"mciSendStringA"
library
25@
0AA7:
call_function
26@
num_params
4
pop
0
0
0
0
"Set cdaudio door closed wait"
27@
0AA3:
free_library
25@
0AB2:
ret
0
C:
Код:
#include "stdafx.h"
#include "windows.h"
#include "iostream"
using namespace std
;
typedef
MCIERROR
(
WINAPI
*
PGNSI
)
(
LPCTSTR
,
LPTSTR
,
UINT
,
HANDLE
)
;
PGNSI Binput
;
int
main
(
)
{
MCIERROR uReturnVal
;
HMODULE hdll
=
LoadLibrary
(
L
"Winmm.DLL"
)
;
Binput
=
(
PGNSI
)
GetProcAddress
(
hdll
,
"mciSendStringA"
)
;
//0 0 0 "Set cdaudio door open wait" 27@
uReturnVal
=
Binput
(
L
"Set cdaudio door open wait"
,
0
,
0
,
0
)
;
//FreeLibrary(hdll);
return
0
;
}
|
|
|

30.01.2020, 19:53
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
как отправить синхру нажатия клавиши N через bitstream
|
|
|

30.01.2020, 20:08
|
|
Постоянный
Регистрация: 05.03.2014
Сообщений: 626
С нами:
6415078
Репутация:
163
|
|
Сообщение от RECEIVER
как отправить синхру нажатия клавиши N через bitstream
с сампфунксом, как я понимаю
C++:
Код:
void
SendCustomOnfootSync
(
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
byteCurrentWeapon
+=
128
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}
|
|
|

30.01.2020, 22:43
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от astap_
с сампфунксом, как я понимаю
C++:
Код:
void
SendCustomOnfootSync
(
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
byteCurrentWeapon
+=
128
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}
это зажатие получается или просто одноразовое нажатие?
|
|
|

30.01.2020, 22:50
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от RECEIVER
это зажатие получается или просто одноразовое нажатие?
Одноразовое нажатие.
|
|
|

01.02.2020, 15:13
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Я использую поток с циклом. Выгружаю значит скрипт, сворачиваю игру. Затем разворачиваю её и у меня чёрный экран. Цикл останавливаю через EVENT
Помогите сделать нормальный поток с остановкой цикла и завершением самого потока при отгрузке скрипта)
C++:
Код:
HANDLE event
;
void
ThreadProc
(
void
*
pParam
)
{
while
(
WaitForSingleObject
(
event
,
100
)
!=
WAIT_OBJECT_0
)
{
// Anything actions in while
}
_endthread
(
)
;
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
)
return
;
if
(
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
event
=
CreateEvent
(
NULL
,
FALSE
,
FALSE
,
NULL
)
;
_beginthread
(
ThreadProc
,
0
,
NULL
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
{
SF
->
initPlugin
(
mainloop
,
hModule
)
;
}
break
;
case
DLL_PROCESS_DETACH
:
{
SetEvent
(
event
)
;
}
break
;
}
return
TRUE
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|