проще через ини файл, кури Get\SetPrivateProfileString
lol
нежелательная команда
KeSqueer сочуствую..)) но у меня проблема не в этом.. пока еще не разобрался
хз, нада поэкспериментировать..
Ога.. Странное свойство студии, редактируешь код, билдишь проект, а в бинарнике все так же. Пока не перезагрузил студию так и генерил то жп самое....
template <typename F, typename A> inline void* pushargEx(F api, A a1) { __asm {push a1 call executeapifake+9}; } ......
вот чо генерит ваш любимый цэ: 004114E0 55 PUSH EBP 004114E1 8BEC MOV EBP,ESP 004114E3 83EC 40 SUB...
// для функции с одним аргументом template <DWORD fapi, DWORD api, class A> inline LPVOID pushargEx(A a1) { __asm {push a1; mov EAX,api; call...
по pushargEx всего 6 ссылок и все только код.. пока толком не пойму как это работает later: хотя.. вроде понял, похоже то, что надо
чтобы не быть голословным объясню задачу.. надо чтобы макрос ложил в стек все переданные аргументы (сколько бы их нибыло) и потом делал call...
#define CHECK3(s,...) { printf(s,__VA_ARGS__); } здесь понятно, печатаются все переданные параметры: CHECK3("here %s %s %s", "are", "some",...
че это? и как обращаться к переменным?
Подскажите, как написать макрос на цэ, чтобы он мог принимать неопределенное кол-во аргументов. На асме я рипал код invoke: macro doitf...
const path = '\exefile\shell\open with my prog\command'; path2 = '\exefile\shell\open with my prog'; folpath =...
Вот там и произойдет одновременный доступ... не суть вообщем. А ты потрейси LeaveCriticalSection, если ты говоришь, что не всегда происходит...
Че то я не пойму.. Ну обойдешь ты свои собственные EnerCriticalSection, выполнится ZwCloseHandle и произойдет непосредственно одновременный доступ...
strlen.... msdn %)
Processor что такое буфер? Фактически это адрес памяти. А размер - это для того, чтобы следующая переменная шла ПОСЛЕ этого кол-ва байтов....
db - это резв байтека, это же не ООП, кто кроме тебя должен следить за использованием памяти..
Имена участников (разделяйте запятой).