Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имя файла по клику мышки, нужно узнать... 
:(
    Опции темы
fromrus
Дата 17.11.2008, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 30.3.2008

Репутация: нет
Всего: нет



1.есть консольная прога узнающая размер файла,но путь к файлу закодирован в переменной.
Нужно:добавить пункт в контекстное меню Винды,чтобы по клику на файл запускалась моя прога и показывался его размер!
Прога есть,в контекстное меню через реестр добавил,но интуиция мне подсказывает,что имя файла должно передаваться как параметр командной строки,по которому и создается дескриптор...Как это сделать по клику мышки?

2.И как вооще юзать параметры ком строки в C++?

int _tmain(int argc, _TCHAR* argv[])
{
    fileHandle=CreateFile(argv[0],остальное); //так?

..........................

Потом через cmd пишу( на C:\ есть файл 123.txt ,т.е. его путь C:\123.txt) : App.exe С:\123.txt - выдается размер не 123 а размер самой проги,что н так?

PM MAIL ICQ   Вверх
REZiaMIX
Дата 17.11.2008, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4



Не доконца понял как по клику мышки  , но в функции main
argc - кол-во аргументов
в argv[0] всегда имя программы (если не ошибаюсь)
т.е. по идее в Вашей задаче должно быть так:
Код


int _tmain(int argc, _TCHAR* argv[])
{
    fileHandle=CreateFile(argv[1],остальное); 



--------------------
user posted image
PM MAIL   Вверх
fromrus
Дата 17.11.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 30.3.2008

Репутация: нет
Всего: нет



Цитата(REZiaMIX @ 17.11.2008,  08:37)
Не доконца понял как по клику мышки  , но в функции main
argc - кол-во аргументов
в argv[0] всегда имя программы (если не ошибаюсь)
т.е. по идее в Вашей задаче должно быть так:
Код


int _tmain(int argc, _TCHAR* argv[])
{
    fileHandle=CreateFile(argv[1],остальное); 

Да,тут вы не ошибаетесь-спасибо!

По поводу клика:
Нужно добавить новый пункт в контекстное меню Винды,скажем называется он threads,по клику на который будет запускаться моя прога,которая покажет размер файла и его потоки ! Пункт добавляется через реестр,а вот как осуществить остальное(в проге)?
PM MAIL ICQ   Вверх
REZiaMIX
Дата 17.11.2008, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4



Цитата(fromrus @ 17.11.2008,  10:29)
Да,тут вы не ошибаетесь-спасибо!

По поводу клика:
Нужно добавить новый пункт в контекстное меню Винды,скажем называется он threads,по клику на который будет запускаться моя прога,которая покажет размер файла и его потоки ! Пункт добавляется через реестр,а вот как осуществить остальное(в проге)?

Если знаете как добавить пункт в контекстное меню , надо попробовать добавить. Потом посмотреть что передается в командную строку.
Скорее всего выйдет так : project.exe %1 , где %1 имя файла к которому обратились по меню.
В итоге в программе надо сделать обработку argv[1]


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.