Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ещё раз обновил справку ссылка1, зеркало. Функции, ключевые слова подсвеченные по тексту теперь имеют цвет аналогичный как в коде и тоже имеют локальные ссылки. Хотел ещё кнопку копирования кода добавить к блокам кода, но много текста городить приходится в HTML-файлах, пока отказался.
    Добавил 49 индексов для вкладки "Указатель", для ключевых слов, циклов, директив.
    Опробовал уже скрипт, с прыжком из редактора в справку к выделенному слову в коде.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 04:20 25-02-2013 | Исправлено: AZJIO, 07:27 25-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    расшифруйте пожалуйста вот эту строчку
    PPEB pPeb = (PPEB)StartupArgument;  

    Цитата:
    void NtProcessStartup(void* StartupArgument)  
    {  
      UNICODE_STRING str;  
      PPEB pPeb = (PPEB)StartupArgument;  
      RtlNormalizeProcessParams(pPeb->ProcessParameters);  
       
      RtlInitUnicodeString(&str, L"Hello, world!\nCommand line is: ");
      NtDisplayString(&str);
      RtlInitUnicodeString(&str, pPeb->ProcessParameters->CommandLine.Buffer);
      NtDisplayString(&str);
       
      NtTerminateProcess(NtCurrentProcess(), 0);
    }
     

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:11 25-02-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    PEB- это структура такая в NT. Находится по адресу fs:[30]. Известность и славу ей в основном принёс PEB.BeingDebugged, по которому можно определить, работает ли программа под отладчиком.

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 10:01 25-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    неправильно значит вопрос поставил. в этом коде функция NtProcessStartup параметром имеет переменную определенную структурой PEB?
     
    Добавлено:
    void NTAPI NTProcessStartup ( PSTARTUP_ARGUMENT pArgument ) вот она во многих источниках описывается как с PSTARTUP_ARGUMENT, а причем тут вообще PEB во второй строке?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:05 25-02-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если судить по последующему коду, аргументом этой ф-ии является указатель на PEB.
     
    Так как аргумент дефинирован как void*, его значение присваивается переменной дефинированной как PPEB, чтобы потом можно было бы добратся до CommandLine.Buffer.

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 10:52 25-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    понятно. надо все структуры переписывать. данные разняться, кое где в струтурах структуры, а кое гденаписано что это указатели

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:11 25-02-2013 | Исправлено: bomzzz, 11:12 25-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    никто не знает случаем - зачем в ntdll функция __toascii ? она просто скан код клавиши возвращает, если код отпускания то конвертирует в код нажатия, а где асци?
     
    Добавлено:
    как вообще пользуясь только функциями ядра перевести скан код в асци символ?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:51 26-02-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz

    Цитата:
    как вообще пользуясь только функциями ядра перевести скан код в асци символ?

     Ассоциативный массив сделай

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 00:06 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    сделал. но неужели там функции нет.
     
    asciitable        db 0,0,"1234567890-=",08h,0,"qwertyuiop[]",0dh,0,"asdfghjkl;'`",0,"\zxcvbnm,./",0,"*",0," "

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:10 27-02-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Я не знаю даст ли тебе что то это

    Цитата:
    user32.dll -> GetKeyNameText
    int -> $lParam
    str -> ""
    int -> 256

    Я взял из автоита, гугли, инфы полно.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 00:58 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    можно только NTDLL.DLL пользоваться и NTOSKRNL
    своя таблица это здоравски, но хотелось бы узнать какие и как клавиши обрабатываются
     
    http://s41.radikal.ru/i093/1302/15/c8e5f7bfd745.gif

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:16 27-02-2013 | Исправлено: bomzzz, 12:39 27-02-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    ...но неужели там функции нет.  

     
    Нет. Раскладки клавиатуры (kbd*.dll) в ядре не подключаются только в user32.dll
    Значит таблицу самому надо будет писать

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 11:14 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ну это просто таблицу слепить, вот только непонятно совсем что от клавиатуры работает в native mode. капс лок мигает но не залипает, китайцы его вообще отключили. как сделать чтоб он залипал? и почему то у меня буква t не работает ни t ни T, остальные пашут
     
    Добавлено:
    ой тТ работает я ее код с капслоком перепутал
     
    Добавлено:

    Цитата:
    invoke RtlZeroMemory, addr Iosb, sizeof Iosb
    invoke NtDeviceIoControlFile, hKeyBoard, hEvent, NULL, NULL, addr Iosb, \
    IOCTL_KEYBOARD_QUERY_INDICATORS, NULL, NULL, addr KeyBoardIndicator, sizeof KeyBoardIndicator
    assume esi:ptr KEYBOARD_INDICATOR_PARAMETERS
    mov [esi].LedFlags, KEYBOARD_SCROLL_LOCK_ON;KEYBOARD_CAPS_LOCK_ON
    invoke NtDeviceIoControlFile, hKeyBoard, hEvent, NULL, NULL, addr Iosb, \
    IOCTL_KEYBOARD_SET_INDICATORS, addr KeyBoardIndicator, sizeof KeyBoardIndicator, NULL, NULL
    assume esi:nothing

     
    ne_viens
    не можешь помочь? вообще никакого описания кроме мсдна найти не могу. ну хоть такое чем вообще никакое

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:35 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    победил все ошибки а индикатор не загорается. мигает и все

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:40 27-02-2013 | Исправлено: bomzzz, 14:54 27-02-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А что ты хочешь сделать? Светодиодами помигать?
    Или взять сканкоды с клавы, перевести в ASCII и распечатать с DebugPrint()?

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 14:47 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    зделал!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    в нативном режиме не работает капс лок почему то, вот я хочу его сам сделать
     
    Добавлено:
    http://zenwinx.sourceforge.net/doxy-doc/html/keyboard_8c_source.html
    не сам сделал конечно пример нагуглил на Си как полагается
     
    Добавлено:
    блин фигня одна получается, не зря он не работает, там ошибка какая то

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:53 27-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    зделал, просто на одном ядре надо всеми индикаторами самому управлять.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:42 27-02-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Перезалил справку ссылка1, зеркало.
    Подсветил и добавил ссылку для union, enum, argc, argv, stdin, stdout, stderr и добавил их в индексы.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 09:16 28-02-2013
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://rghost.ru/44163572
    можно испытывать.
    если у вас какой нибудь дефрагментатор модный для оф лайн режима - то лучше сохранить ключ реестра батником safereg и удалить программу им.
    работает только на xp и 2000-ке
     
    поддерживаются три команды:
    exit - выйти из программы и продолжить загрузку windows (или клавиша escape)
    reboot
    shutdown
     
    всем спасибо у меня бы самого хер бы получилось
     
    как курсор сделать, ведь должен же быть где то видео буфер

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:02 28-02-2013 | Исправлено: bomzzz, 13:17 28-02-2013
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    А что вообще ты такое ваяешь?

    Всего записей: 2026 | Зарегистр. 02-09-2005 | Отправлено: 15:11 28-02-2013
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru