ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

06.03.2008, 15:39
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
Провел на форуме: 287212
Репутация:
62
|
|
_Sanich
Чтобы скомпилировать в VS 2008 Express Edition сделал следующее: File > New > Project... > Win32 console application. Затем файл <Имя_проекта.cpp> привёл к такому виду:
Код:
#include "stdafx.h"
// Подключим модули, нужные для работы программы
#include <windows.h>
#include <iostream>
// Для удобства работы с cout
using namespace std;
void main()
{
// Объявим переменные, необходимые для работы
HWND hManForm,hGroupBox,hEdit,hComboBox; // Идентификаторы форм
char* pUIN; // Указатель на буфер для UIN
char* pPass; // Указатель на буфер для пароля
int iUIN; // Длина UIN
int iPass; // Длина пароля
// Найдем окно диалога авторизации
hManForm=FindWindow(L"TManForm",0);
// Расположенная на нем группа элементов управления
hGroupBox=FindWindowEx(hManForm,0,L"TGroupBox",0);
// Список с UIN'ами
hComboBox=FindWindowEx(hGroupBox,0,L"TComboBox",0);
// Получим длину текста в списке
iUIN=SendMessage(hComboBox, WM_GETTEXTLENGTH, 0, 0)+1;
// Выделяем необходимую память для буфера
pUIN=(char*)LocalAlloc(0, iUIN);
// Получим непосредственно текст
SendMessage(hComboBox, WM_GETTEXT, iUIN, (long)pUIN);
// Поле с паролем
hEdit=FindWindowEx(hGroupBox,0,L"TEdit",0);
// Дальше все по аналогии с UIN'ом
iPass=SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0)+1;
pPass=(char*)LocalAlloc(0, iPass);
SendMessage(hEdit, WM_GETTEXT, iPass, (long)pPass);
//Выведем что получилось
cout << "[!!!]Found for: "<< pUIN << "\tPassword: " << pPass;
// Освободим память
LocalFree(pUIN);
LocalFree(pPass);
}
Обрати внимание на буквы "L" перед строковыми константами (переводит строку в Unicode) - без этого (по крайней мере, в 2008 студии) работать не стало.
После указанных действий нажал F7 и всё скомпилировалось. Извини, если рассказал излишне подробно, но просто мне неясно, на каком этапе возникли затруднения, поэтому постарался описать так, чтобы стало понятно даже чайнику 
|
|
|

07.03.2008, 02:53
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
<навеяно предыдущим постом>
Ребят, а у кого-нибудь вообще запустилась Msdn9, которая идет с Vs2008?
Vs2008 - АД. =\
</навеяно предыдущим постом>
|
|
|

07.03.2008, 16:06
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
Провел на форуме: 287212
Репутация:
62
|
|
У меня урезанная версия Express Edition, MSDN (тоже урезанная) идёт без проблем... Половины хелпа по нативным функциям нет (слава Ктулху, соединение с онлайн-версией работает стабильно). Однако запускается...
|
|
|

07.03.2008, 16:48
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
В Си как можна узнать активного раздела и имия пользователя?
|
|
|

07.03.2008, 17:00
|
|
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме: 1595333
Репутация:
291
|
|
Код:
#include <unistd.h>
#include <sys/types.h>
uid_t getuid(void);
это чтобы узнать уид юзверя.
или же если нужно конкретно имя то
Код:
int main()
{
system("echo $USER");
return 0;
}
выведет на стандартный вывод имя юзверя
Последний раз редактировалось zythar; 07.03.2008 в 17:11..
|
|
|

07.03.2008, 17:05
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
а как узнать активный раздел?
|
|
|

07.03.2008, 17:24
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
KSoniX pwd
|
|
|

08.03.2008, 13:42
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Piflit
KSoniX pwd
system("pwd"); : 
|
|
|

08.03.2008, 19:33
|
|
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме: 1576821
Репутация:
88
|
|
народ помогите в С++!!!
нужно в динамический масив добавить один элемент за пределами его памяти (т,е увеличить дин. массив на единицу сохранив его прежнии элементы)
Хочется это сделать это как можно быстрее (в смысле не заниматся копированием массива, потом увеличением и т.д. ), ибо задача на комбинаторику.
|
|
|

08.03.2008, 19:36
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
что такое динамический массив из ваших уст?
а вообще списки это простейшая реализация того о чем вы говорите
допустим есть елемент
struct el
{
//----------
само значение
//----------
char *addr_prev; адрес предыдущего элемента
char *addr_next; адрес следующего элемента
};
тогда мы можем связывать эти элементы в том количестве в котором захотим используя new
и delete для удаления
Последний раз редактировалось Delimiter; 08.03.2008 в 19:45..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|