Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2014, 04:25   #1
A3D
Новичок
Джуниор
 
Регистрация: 24.01.2014
Сообщений: 4
По умолчанию Есть исходный код программы. Нужно изменить и собрать приложение.

Доброго времени суток. Есть маленькое приложение, оно позволяет изменить назначение, средней кнопки геймпадов (Guide Button). Эта программка в своем роде уникальна, так как не один из эмуляторов, этого делать не умеет.
Но есть огромная ложка дегтя. При запуске, от этой программы остается висеть cmd окно, в котором отображается нажатие клавиши. Оно довольно сильно мешается на панели задач.
Попытки запустить приложение в скрытом режиме, через скрипт, приводит к тому что программа перестает видеть свой .ini файл.
var WSHShell = WScript.CreateObject("WScript.Shell ");
WSHShell.Run("button_on_360_guide.exe",0);


●Хочется, убрать cmd окно, если оно не нужно для работы программы.
или
●Добавить в код программы, скрытый запуск, чтоб она отображалась только в процессах.
или
●В крайнем случае, отвязать ее от .ini файла, в котором можно выбирать назначение кнопки и сделать по умолчанию кнопку Enter. Чтоб была возможность, запустить программу через скрипт.

Форум с программкой <-- Два прикрепленных архива, исходники и готовая программа.

Тому кто поможет, будут благодарны куча пользователей геймпадов, у которых станет на 1 программируемую кнопку больше. =)

Добавлено:
Выявился еще 1 недостаток у программы. Полноэкранные приложения не реагируют на нажатие. Приходиться использовать еще 1 програмку заменяющую нажатие на глобальное (Key Manager 1.4)
Эх.. надежды, что кто то сможет грамотно пересобрать сие чудо, все меньше и меньше.

Последний раз редактировалось A3D; 24.01.2014 в 21:16.
A3D вне форума Ответить с цитированием
Старый 24.01.2014, 13:28   #2
nikolay1982
Пользователь
 
Регистрация: 31.12.2013
Сообщений: 47
По умолчанию

Я не любитель игр.
В твойм случае возможно ini перестает видеть, потому что не из той папки делается запуск. Перед запуском можно поменять текущую директорию на дир. с программой.
Можно изменить код исходника, но думаю проще так.
Попобую батник(.bat) создать с содержимым:
button_on_360_guide.exe > NUL

Поставь батник в каталоге с программой.
nikolay1982 вне форума Ответить с цитированием
Старый 24.01.2014, 15:55   #3
A3D
Новичок
Джуниор
 
Регистрация: 24.01.2014
Сообщений: 4
По умолчанию

К сожалению не помогает. Запуск через start /B, тоже не скрывает приложение.
И честно говоря у меня есть сомнения, что эта программа, запустившись через скрипт без ошибок, будет работать в скрытом режиме.
Читал где то, что для нормальной работы приложения с файлами, при таком запуске, нужно назначать его службой. Возможно я что то путаю, да и для рядового пользователя, это будет сложно.
Сам использую 4t Tray Minimizer, но мне не очень нравиться это решение.
A3D вне форума Ответить с цитированием
Старый 24.01.2014, 17:23   #4
nikolay1982
Пользователь
 
Регистрация: 31.12.2013
Сообщений: 47
По умолчанию

Можно использовать Win Api функцию:
ShowWindow(buttonExeHwnd, SW_HIDE);

buttonExeHwnd это handle of window окна данного приложения.
Можно вычислить с помощью FindWindow.
Для этого нужна маленькая утилита для определения класса окна.
Где-то у меня была, не помню как называется.
Исходник ковырять просто нету времени (не игрок я), но богаче сделать вас было лучше.
nikolay1982 вне форума Ответить с цитированием
Старый 24.01.2014, 17:42   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Насколько я вижу, надо просто заменить
int main()
на
INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT)

и пересобрать програмку как Windows приложение (а не как консольное).
Проблемы с загрузкой INI файла связаны с тем, что не указано из какой папки грузить процесс.
Если очень быстро нажимать кнопку, может не уловить нажатие.

Edit:
Попробуйте вариант, что указан во вложении.
Вложения
Тип файла: rar main.rar (15.5 Кб, 14 просмотров)

Последний раз редактировалось waleri; 24.01.2014 в 17:50.
waleri вне форума Ответить с цитированием
Старый 24.01.2014, 18:08   #6
A3D
Новичок
Джуниор
 
Регистрация: 24.01.2014
Сообщений: 4
По умолчанию

На нажатие не реагирует и также остается висеть cmd окно.
Может стоит декомпилировать exe и править полученный код.

http://www.rsdn.ru/forum/winapi/3575262.all <-- возможно, тут описана схожая ситуация.

Последний раз редактировалось A3D; 24.01.2014 в 18:34.
A3D вне форума Ответить с цитированием
Старый 24.01.2014, 22:02   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Положите button.ini в C:\WINDOWS, должно заработать...
waleri вне форума Ответить с цитированием
Старый 24.01.2014, 22:25   #8
A3D
Новичок
Джуниор
 
Регистрация: 24.01.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Положите button.ini в C:\WINDOWS, должно заработать...
Так и делал.
A3D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно изменить код программы kuk1 Помощь студентам 4 15.08.2013 23:48
Программно изменить код страницы(как в Опере через исходный код) igrok111 Работа с сетью в Delphi 7 20.04.2013 23:46
Как изменить исходный код AcTiV Общие вопросы C/C++ 12 25.01.2013 00:00
Есть код программы на с++. Нужно обьяснение Alex1991 Помощь студентам 1 16.03.2009 14:37
Нужно собрать приложение на Visual C (опыта нет, есть исходники) Khomutov Visual C++ 8 12.05.2008 13:32