Статьи по Assembler


Main.cpp для mycall (c++) - часть 2



//Проверка наличия уже запущенных экземпляров MyCall

//Для этого используется обмен специальным глобальным оконным сообщением. Подробнее...

my_message=RegisterWindowMessage("MyCallMessage");

if(my_message){SendMessage(HWND_BROADCAST,my_message,(WPARAM)main_window,0);}


//Загрузка файла mycall.ini и восстановление положения окна на рабочем столе

load_ini();

SetWindowPos(main_window,NULL,main_win_left,main_win_top,NULL,NULL,SWP_NOSIZE|SWP_NOZORDER);

//Показ главного окна

ShowWindow(main_window,SW_SHOW);


//Получение дескрипторов элементов управления диалога. Понадобятся всякий раз,

//как мы захотим что-нибудь с этими элементами поделать.

conn_window=GetDlgItem(main_window,1000);

phon_window=GetDlgItem(main_window,1001);

user_window=GetDlgItem(main_window,1002);

butt_window=GetDlgItem(main_window,1003);

stat_window=GetDlgItem(main_window,1004);

//Запоминание исходных размеров главного окна. Пригодится потом, когда при установлении

//соединения в нижней части окна будем показывать строку статуса.

RECT win_dim;

GetWindowRect(main_window,&win_dim);

win_width=win_dim.right-win_dim.left;

win_height=win_dim.bottom-win_dim.top;


//Загрузка файла настроек mycall.txt. Содержимое файла при этом слегка модифицируется:

//разделители и пробелы заменяются 0h, а в конец дописывается 1h

if(!load_data()){return EXIT_COMMON_ERROR;}

//По данным файла mycall.txt формируется список соединений conn_window

INT con_number=0;

int sub_string=0;

int sub_string_poz=0;

ptr=dat_buffer;

while(*ptr!=1){

if(*(LPWORD)ptr==0){

sub_string++;

sub_string_poz=0;

ptr+=2;

if(sub_string==3){sub_string=0;}

}

if((sub_string==0)&&(sub_string_poz==0)&&(*ptr!=0)&&(*ptr!=1)){

SendMessage(conn_window,CB_ADDSTRING,0,(LPARAM)ptr);

con_number++;

if(con_number>=MAX_CON){break;}

}

sub_string_poz++;

ptr++;

}

//По данным файла mycall.ini устанавливается прошлая позиция списка conn_window

if(current_con>=con_number){current_con=0;}

SendMessage(conn_window,CB_SETCURSEL,(WPARAM)current_con,0);




- Начало -  - Назад -  - Вперед -