docs.miraculix.ru


Примеры приложений под MiraculixOS
  • Работа с файлами
  • Процессы
  • Графика
  • Контролы
  • Разное

  • Исходники программ
  • MsgBox
  • Run
  • Cmd
  • KeyCode

  • Разное
  • Скриншоты


  • Draw_StdWindow - Создать стандартное окно

    Вызов:
    invoke Draw_StdWindow,coords, size, title, buttons

    Параметры:
  • coords - координаты окна (x_coord*65536+y_coord)
  • size - размеры окна (x_size*65536+y_size)
  • title - заголовок окна
  • buttons - атрибуты окна (см. приложение 2)

  • Возвращаемое значение:
    EAX - идентификатор окна
    ESI - координаты окна (x_coord*65536+y_coord)
    EDI - размеры окна (x_size*65536+y_size)

    Примечание:
    Вам необходимо сохранить идентификатор окна (EAX)

    Пример:
    Screenshot:

    Наверх
    End_of_redraw - Сообщить системе об окончании отрисовки окна

    Вызов:
    call [End_of_redraw]

    Параметры:
    нет

    Возвращаемое значение:
    нет

    Примечание:
    нет

    Screenshot:
    нет

    Наверх
    SendMessage - Послать сообщение

    Вызов:
    invoke SendMessage,PID, message*256+param_1, param_2, param_3

    Параметры:
  • PID - Идентификатор процесса, которому посылается сообщение
  • message - Само сообщение(bh)
  • param_1 - Первый параметр(bl)
  • param_2 - Второй параметр(esi)
  • param_3 - Третий параметр(ebp)

  • Возвращаемое значение:
    EAX - 0, если произошла ошибка

    Примечание:
    Можно посылать любые сообщения процессам

    Пример:
    Screenshot:
    нет

    Наверх
    ReceiveMessage - Принять сообщение

    Вызов:
    call [ReceiveMessage]

    Параметры:
    нет

    Возвращаемое значение:
    EDI - PID отправителя
    EBX,ESI,EBP - сообщение и параметры сообщения

    Примечание:
    В каких именно регистрах сообщение, а в каких параметры - целиком и полностью зависит от пославшего сообщение процесса, но если сообщение отправила система, то сообщение всегда находится в регистре bh, а параметры в остальных регистрах (зависит от типа сообщения см. Система сообщений)

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    GetPID - Узнать свой PID

    Вызов:
    call [GetPID]

    Параметры:
    нет

    Возвращаемое значение:
    EAX - PID

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    PutPixel - Поставить точку

    Вызов:
    invoke PutPixel,coord_x, coord_y, color

    Параметры:
  • coord_x - координата по оси x
  • coord_y - координата по оси y
  • color - цвет точки

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    Get_screen_param - Получить параметры экрана

    Вызов:
    call [Get_screen_param]

    Параметры:
    нет

    Возвращаемое значение:
    ESI - размер экрана по оси x
    EDI - размер экрана по оси y

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    DrawPicture - Вывести изображение

    Вызов:
    invoke DrawPicture,coord_x, coord_y, pointer

    Параметры:
  • coord_x - координата по оси x
  • coord_x - координата по оси y
  • pointer - Указатель на изображение

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    Screenshot:

    Наверх
    KillWindow - Удалить окно

    Вызов:
    invoke KillWindow,WinID

    Параметры:
  • WinID - идентификатор окна

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Screenshot:
    нет

    Наверх
    WriteText - Написать текст в окне

    Вызов:
    invoke WriteText,coord_x, coord_y, color, FontID, TextStr

    Параметры:
  • coord_x - координата по оси x
  • coord_x - координата по оси y
  • color - цвет текста
  • FontID - идентификатор шрифта (стандартный системный шрифт - 4)
  • TextStr - Указатель на строку текста

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    WriteHex - Написать HEX-число в окне

    Вызов:
    invoke WriteHex,coord_x, coord_y, color, FontID, Number

    Параметры:
  • coord_x - координата по оси x
  • coord_x - координата по оси y
  • color - цвет текста
  • FontID - идентификатор шрифта (стандартный системный шрифт - 4)
  • Number - Число

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    StdHandler - Стандартный обработчик событий

    Вызов:
    call [StdHandler]

    Параметры:
    нет

    Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    Screenshot:
    нет

    Наверх
    GetWinParams - Получить параметры окна

    Вызов:
    call [GetWinParams]

    Параметры:
    нет

    Возвращаемое значение:
    ESI - [Координата по оси X] *65536+ [Координата по оси Y]
    EDI - [Размер по оси X] *65536+ [Размер по оси Y]

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    Create_StdButton - Создать кнопку

    Вызов:
    invoke Create_StdButton,coords, size, Text, ButtonID, BtnAttr

    Параметры:
  • coords - координаты кнопки (x_coord*65536+y_coord)
  • size - размеры кнопки (x_size*65536+y_size)
  • Text - Указатель на текст на кнопке
  • ButtonID - Идентификатор кнопки
  • BtnAttr - Атрибуты кнопки (см. Приложение 2)

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    Screenshot:
    нет

    Наверх
    Create_CheckButton - Создать CheckBox

    Вызов:
    invoke Create_CheckButton, coords, ButtonID, BtnAttr

    Параметры:
  • coords - координаты кнопки (x_coord*65536+y_coord)
  • ButtonID - Идентификатор кнопки
  • BtnAttr - Атрибуты кнопки (см. Приложение 2)

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    Draw_BLine - Нарисовать закрашенный прямоугольник в окне

    Вызов:
    invoke Draw_BLine, x_coord, y_coord, x_size, y_size, color, WinID

    Параметры:
  • x_coord - Координата по оси x
  • y_coord - Координата по оси y
  • x_size - Размер по оси x
  • y_size - Размер по оси y
  • color - Цвет прямоугольника
  • WinID - Идентификатор окна

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    Get_FileAddress - Получить адрес файла на Ram-диске

    Вызов:
    invoke Get_FileAddress, Name

    Параметры:
  • Name - Имя файла

  • Возвращаемое значение:
    ESI - Адрес файла
    EBX - размер файла

    Примечание:
    Если ESI=0, значит файла нет на Ram-диске

    Пример:
    Screenshot:
    нет

    Наверх
    CreateProcess - Создать процесс

    Вызов:
    invoke CreateProcess, Address, Size, Name

    Параметры:
  • Address - Адрес файла процесса (на ram-диске, можно получить функцией Get_FileAddress)
  • Size - Размер файла процесса
  • Name - Имя процесса (На ваше усмотрение)

  • Возвращаемое значение:
    EAX - PID созданного процесса

    Примечание:
    Если ESI=0, значит файла нет на Ram-диске

    Пример:
    Screenshot:
    нет

    Наверх
    TaskInfo - Получить информацию о процессе

    Вызов:
    invoke TaskInfo, TaskID, TaskBuffer

    Параметры:
  • TaskID - Идентификатор приложения, о котором нужно получить информацию
  • TaskBuffer - Буфер, который будет заполнен этой информацией (см. Приложение 3)

  • Возвращаемое значение:
    нет

    Примечание:
    нет

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    ReadIniFile - Чтение ini-файла

    Вызов:
    mov esi,ini_buff
    mov edi,ini_section
    mov ebp,ini_param
    mov edx,ini_value
    call [ReadIniFile]

    Параметры:
  • ini_buff(esi) - буффер ini-файла
  • ini_section(edi) - имя секции в ASCIIZ формате
  • ini_param(ebp) - имя параметра в ASCIIZ формате
  • ini_value(edx) - буффер для полученного значения

  • Возвращаемое значение:
    EDX=0, если ничего не найдено, иначе текущий адресс (позиция в буфере, на которой поиск завершился).

    Примечание:
  • Если EAX=1, то поиск будет произведен, без учета секции (функция сразу будет искать указанный параметр).
  • Это сделанно для того, что-бы можно было искать параметры с одинаковыми именами в одной и той-же секции.
  • Используется в приложении desktop (Рабочий стол)
  • Функция доступна в MiraculixOS версии 0.57 и выше

  • Пример:
    Screenshot:

    Наверх
    WaitMessage - Ожидать сообщение

    Вызов:
    call [WaitMessage]

    Параметры:
    нет

    Возвращаемое значение:
    EDI - PID отправителя
    EBX,ESI,EBP - сообщение и параметры сообщения

    Примечание:
    Эта функция аналогична функции ReceiveMessage

    Пример:
    Screenshot:
    нет

    Наверх
    msgbox - Вывести сообщение на экран

    Вызов:
    invoke msgbox,MessageText,TitleText

    Параметры:
  • MessageText - Текст сообщения
  • TitleText - Заголовок сообщения

  • Возвращаемое значение:
    нет

    Примечание:
    Если TitleText опустить, то заголовком сообщения будет "message".

    Пример:
    нет

    Screenshot:
    нет

    Наверх
    ShellAbout - Вывести информацию о своём приложении

    Вызов:
    invoke ShellAbout,ProgramInfo, AuthorInfo, CopyrightInfo

    Параметры:
  • ProgramInfo - Строка с именем и версией программы
  • AuthorInfo - Строка с информацией о авторе
  • CopyRightInfo - Строка с Копирайтами

  • Возвращаемое значение:
    нет

    Примечание:
  • Функция доступна в MiraculixOS версии 0.57 и выше

  • Пример:
    Screenshot:

    Наверх
    Copyright© 2007 by mistifi(ator