
26.09.2016, 00:01
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Взаемодествие между двумя приложениями? Сокеты юзай.
|
|
|

26.09.2016, 00:07
|
|
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами:
6395080
Репутация:
128
|
|
Сообщение от Dark_Knight
Взаемодествие между двумя приложениями? Сокеты юзай.
Может херово объяснил. У меня есть, например, .asi плагин. Я хочу следить за тем, как в нем изменяются переменные. Для этого хочу вывести их каким-нибудь образом на экран. Лучше всего - в консольку. Как это можно сделать, как через длл создать консоль? Такую. в которую потом ожно будет сделать cout
|
|
|

26.09.2016, 00:55
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
[QUOTE="Picador"]
Может херово объяснил. У меня есть, например, .asi плагин. Я хочу следить за тем, как в нем изменяются переменные. Для этого хочу вывести их каким-нибудь образом на экран. Лучше всего - в консольку. Как это можно сделать, как через длл создать консоль? Такую. в которую потом ожно будет сделать cout
C++:
Код:
/* некоторые инклуды лишние, не помню какие из них нужны
#include
#include
#include
#include
#include
#include
*/
void
RedirectIOToConsole
(
void
)
{
const
WORD MAX_CONSOLE_LINES
=
500
;
int
hConHandle
;
long
lStdHandle
;
CONSOLE_SCREEN_BUFFER_INFO coninfo
;
FILE
*
fp
;
// allocate a console for this app
AllocConsole
(
)
;
// set the screen buffer to be big enough to let us scroll text
GetConsoleScreenBufferInfo
(
GetStdHandle
(
STD_OUTPUT_HANDLE
)
,
&
coninfo
)
;
coninfo
.
dwSize
.
Y
=
MAX_CONSOLE_LINES
;
SetConsoleScreenBufferSize
(
GetStdHandle
(
STD_OUTPUT_HANDLE
)
,
coninfo
.
dwSize
)
;
// redirect unbuffered STDOUT to the console
lStdHandle
=
(
long
)
GetStdHandle
(
STD_OUTPUT_HANDLE
)
;
hConHandle
=
_open_osfhandle
(
lStdHandle
,
_O_TEXT
)
;
fp
=
_fdopen
(
hConHandle
,
"w"
)
;
*
stdout
=
*
fp
;
setvbuf
(
stdout
,
NULL
,
_IONBF
,
0
)
;
// redirect unbuffered STDIN to the console
lStdHandle
=
(
long
)
GetStdHandle
(
STD_INPUT_HANDLE
)
;
hConHandle
=
_open_osfhandle
(
lStdHandle
,
_O_TEXT
)
;
fp
=
_fdopen
(
hConHandle
,
"r"
)
;
*
stdin
=
*
fp
;
setvbuf
(
stdin
,
NULL
,
_IONBF
,
0
)
;
// redirect unbuffered STDERR to the console
lStdHandle
=
(
long
)
GetStdHandle
(
STD_ERROR_HANDLE
)
;
hConHandle
=
_open_osfhandle
(
lStdHandle
,
_O_TEXT
)
;
fp
=
_fdopen
(
hConHandle
,
"w"
)
;
*
stderr
=
*
fp
;
setvbuf
(
stderr
,
NULL
,
_IONBF
,
0
)
;
// make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog
// point to console as well
std
::
ios
::
sync_with_stdio
(
)
;
}
|
|
|

26.09.2016, 00:42
|
|
Новичок
Регистрация: 19.09.2016
Сообщений: 6
С нами:
5077190
Репутация:
0
|
|
Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();
У меня выходит только так:
Класс->Функция;
Хочу свои классы с группами написать, но не выходит.
|
|
|

26.09.2016, 00:51
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от #WH1SKEY
Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();
У меня выходит только так:
Класс->Функция;
Хочу свои классы с группами написать, но не выходит.
какие группы? учи язык.
|
|
|

26.09.2016, 11:38
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от #WH1SKEY
Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();
У меня выходит только так:
Класс->Функция;
Хочу свои классы с группами написать, но не выходит.
Учи ООП. Это идет класс в классе. Да простит меня фип, если я не прав.
|
|
|

26.09.2016, 00:54
|
|
Новичок
Регистрация: 19.09.2016
Сообщений: 6
С нами:
5077190
Репутация:
0
|
|
ФИП, объекты если я не ошибаюсь.
|
|
|

26.09.2016, 00:58
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от #WH1SKEY
ФИП, объекты если я не ошибаюсь.
ошибаешься. это функции, возвращающие указатели на объекты. учи язык.
|
|
|

26.09.2016, 14:03
|
|
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами:
6395080
Репутация:
128
|
|
Может что-то не так понял, но:
добавил функцию
C++:
Код:
void
RedirectIOToConsole
(
)
потом в bool WINAPI DllMain после выполнения условия DLL_PROCESS_ATTACH добавил
C++:
Код:
RedirectIOToConsole
(
)
;
после чего в след. строке начал поток
C++:
Код:
_beginthread
(
DLLProject
,
NULL
,
NULL
)
;
В DLLProject сделал вывод текста разными способами:
C++:
[CODE]
cout
В консоль ничего из этого не выводится. Но там появляется строка "Initialised SoundManager, которая вообще хер пойми откуда берется.
|
|
|

27.09.2016, 00:23
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
[QUOTE="Picador"]
Может что-то не так понял, но:
добавил функцию
C++:
Код:
void
RedirectIOToConsole
(
)
потом в bool WINAPI DllMain после выполнения условия DLL_PROCESS_ATTACH добавил
C++:
Код:
RedirectIOToConsole
(
)
;
после чего в след. строке начал поток
C++:
Код:
_beginthread
(
DLLProject
,
NULL
,
NULL
)
;
В DLLProject сделал вывод текста разными способами:
C++:
[CODE]
cout
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|