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

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

Модерирует : 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

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

xdude



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи, такой вопрос: wsprintf что, __int64 не понимает? Как мне с ее помощью __int64 в строку перегнать? swprintf ну никак не желательно использовать, так как нужно чистейшее WinAPI без стандартной сишной библиотеки. В гугле ничего не нашел, в этой теме вроде тоже ничего. Не писать же свою функцию специально для этого?
 
Добавлено:
Да, чуть не забыл: в FormatMessage мне тоже __int64 надо впихнуть, с чего, собственно, поиски и начались, так как FormatMessage использует спецификацию wsprintf
 
Добавлено:
Хм. Похоже, %I64u сработало, хотя, могу поклясться соседскими курями, что пять минут назад пробовал - не получилось
Чудеса, да и только...

----------
photocraft.com.ua

Всего записей: 481 | Зарегистр. 04-11-2004 | Отправлено: 05:01 25-09-2006
DeADMoHAX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xdude
бывает... вон у меня всю жизнь винсокет работал, а потом раз и целый день работатть отказывался.... потом заработал..


----------
dmlabs.ru || hackconnect.ru
Выгодно России – значит, хорошо. Не выгодно России – пошёл на хер.

Всего записей: 1367 | Зарегистр. 03-02-2005 | Отправлено: 08:58 25-09-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi All!
Предположим что некоторый файл занят другим процессом.

Цитата:
When a process attempts to open a file that has already been opened in sharing mode, the system compares the requested access and sharing modes to those specified when the file was opened. If you specify an access mode that conflicts with the sharing mode specified in the previous open call, CreateFile fails with a sharing violation (ERROR_SHARING_VIOLATION). If you specify a sharing mode that conflicts with the access mode specified in the previous open call, CreateFile fails with a sharing violation.

Как определить какой процесс держит конкретный файл?

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 11:51 26-09-2006
TeXpert



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

Цитата:
Как определить какой процесс держит конкретный файл?

Методом научного тыка).
А так, используй утилиты от Руссиновича (sysinternals.com?): Filemon (динамический) и Process Explorer (статический) показ интересующей тебя информации.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 05:49 27-09-2006
FireZone

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

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 09:56 27-09-2006
DeADMoHAX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как бороться с такой ошибкой при вызове winsock функции sendto -  

Цитата:
WSAEINTR 10004  
Interrupted function call.  
A blocking operation was interrupted by a call to WSACancelBlockingCall.  
?
 
Добавлено:
Функции WSACancelBlockingCall не вызывал я.

----------
dmlabs.ru || hackconnect.ru
Выгодно России – значит, хорошо. Не выгодно России – пошёл на хер.

Всего записей: 1367 | Зарегистр. 03-02-2005 | Отправлено: 18:13 29-09-2006
Thritt



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня такой вопрос: как в WinAPI на С++ создать второе окно (диалог) не используя файл ресурсов. т.е. я хочу создать второе окно так же как и главное: CreateWindow(.....); ? Например чтобы оно появлялось после нажатия кнопки.

Всего записей: 79 | Зарегистр. 10-07-2006 | Отправлено: 11:07 08-10-2006
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Thritt
Да вот так и сделать - создать окно с помощью CreateWindow, создать в нём нужные элементы опять же с помощью CreateWindow, самостоятельно реализовать их обход по Tab/Shift-Tab, переключение на нужный элемент по Alt-letter, реакцию на нажатие Esc/Enter... Короче, взять на себя всю ту рутинную работу, которую совершает Windows, создавая диалог из шаблона.
 
PS. А зачем этот геморрой?

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 14:49 08-10-2006
Thritt



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

Цитата:
Да вот так и сделать - создать окно с помощью CreateWindow, создать в нём нужные элементы опять же с помощью CreateWindow, самостоятельно реализовать их обход по Tab/Shift-Tab, переключение на нужный элемент по Alt-letter, реакцию на нажатие Esc/Enter... Короче, взять на себя всю ту рутинную работу, которую совершает Windows, создавая диалог из шаблона.  

А можно поподробнее? А то я что-то совсем уже запутался с этим WinAPI.  
 
 
 
 
Добавлено:
Может статьи какие есть? мне бы не помешали ссылки на них

Всего записей: 79 | Зарегистр. 10-07-2006 | Отправлено: 22:32 08-10-2006
Abs62



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

Цитата:
А можно поподробнее? А то я что-то совсем уже запутался с этим WinAPI.

Поподробнее - Ч.Петзольд, "Программирование в среде Windows" (можно взять здесь). Чистый WinAPI с самых азов. Глава 8 - "Дочерние окна управления", там есть примеры.

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 23:59 08-10-2006 | Исправлено: Abs62, 00:00 09-10-2006
vrsoft

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
заходите на http://spam_detected/ - новый портал

Всего записей: 4 | Зарегистр. 09-10-2006 | Отправлено: 09:49 09-10-2006
ramzy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытался перехватить нажатие клавиши Tab в С++.....
Все примеры, которые я нашел в Инете, относились к Делфи...
Нашел интересную статью http://www.sources.ru/msdn/library/using_keyboard_input.shtml
руководствуюясь ею, попробовал перехватывать при условии
.......(HWND hWnd,  
        UINT msg,  
        WPARAM w,
        LPARAM l)
{
   if ((msg ==WM_CHAR)&&
    (w == 0x09))...........
но ничего не получилось, начал разбираться,  выяснил что при нажатии таб  msg == 48384 т.е. 0xBD00,  а WM_CHAR = 258(0x0102)......
 
Кто нибудь может мне объяснить, т.е. или я чего то не понял из этой статьи...
 
Заранее благодарен!

Всего записей: 8 | Зарегистр. 28-04-2006 | Отправлено: 14:59 09-10-2006
TeXpert



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

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 17:54 09-10-2006
Abs62



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

Цитата:
выяснил что при нажатии таб  msg == 48384 т.е. 0xBD00,  а WM_CHAR = 258(0x0102)

Значит, кто-то уже обработал сообщение до того. И послал совсем другое.

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 22:04 09-10-2006
Qraizer



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

Цитата:
PS. А зачем этот геморрой?

Не обязательно так сложно. Есть DialogBoxIndirect(), так она делает то же самое, что и DialogBox(), но шаблон передаётся явно укадателем на подготовленную структуру в памяти. Я так сильно подозреваю, что DialogBox() загружает ресурс диалога, а потом просто вызывает DialogBoxIndirect().

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 22:17 12-10-2006
Abs62



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

Цитата:
Не обязательно так сложно. Есть DialogBoxIndirect(), так она делает то же самое, что и DialogBox(), но шаблон передаётся явно укадателем на подготовленную структуру в памяти.

Разумеется, можно и так. Но писать десяток строк кода вместо одной строки шаблона - это тоже геморрой.

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 00:48 13-10-2006
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не спорю. . Однако ж понадобилось человеку. Да и через CreateWindow() строчек ИМХО побольше будет.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 21:34 17-10-2006
Abs62



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

Цитата:
Да и через CreateWindow() строчек ИМХО побольше будет.

Зато можно будет на собственном опыте разобраться, как же это всё устроено.

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 23:11 17-10-2006
N0el

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вечер добрый всем.
Нужна небольшая помощь.
Есть окошко, есть кнопочка - обыкновенный "BUTTON"
нужно на эту кнопочку навесить всплывающее меню.
Чтоб при нажатии именно на эту кнопочку выскакивало PopupMenu.
C другой стороны само окошко не должно ловить этот вызов.
Жду вашей помощи))

Всего записей: 1 | Зарегистр. 21-10-2006 | Отправлено: 00:14 21-10-2006
Abs62



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

Цитата:
Есть окошко, есть кнопочка - обыкновенный "BUTTON"  
нужно на эту кнопочку навесить всплывающее меню.

TrackPopupMenu в обработчике нажатия. Само меню либо грузить из ресурсов (LoadMenu), либо формировать динамически (CreatePopupMenu и т.д.).  

Цитата:
C другой стороны само окошко не должно ловить этот вызов.

Какой вызов? Обыкновенный "BUTTON" отправляет родителю BN_CLICKED, в обработчике которого обычно и производятся все действия.

Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 01:22 21-10-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование с использованием WinAPI


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru