Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 5

Работа с названием файла/папки

25.04.2011, 00:48. Показов 2248. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Возник следующий вопрос.
Как получить название файла/папки и записать это название в массив или строку. И как можно добавить кнопку в меню, появляющееся при нажатии правой кнопки мыши во время редактирования названия файла. Для большей понятности опишу пример: Пользователь создает файл(например текстовый), во время ввода названия файла щелкает правой кнопкой мыши по нему, в windows появляется меню: копировать, выделить, вставить, отменить и тп; необходимо добавить туда свой пункт, при нажатии на который разворачивается форма приложения с полями гридом и тп, и одно из полей(к примеру текстбокс) будет содержать проверяемое название файла без расширения. И возможно ли это?
Приложение, выполняющее сверку со словарем, есть, нужно только реализовать это дополнение.
Сразу оговорюсь что не являюсь специалистом в этой среде разработки( да и вообще в языках программирования). Заранее спасибо за конструктивную помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2011, 00:48
Ответы с готовыми решениями:

Названием папки по дате и времени. Создаются папки каждую минуту
Проблема такова, создается папка со датой и временем и в ней файл *.txt,куда сохраняются данные, с...

Проверка существования папки с введенным в TextBox названием
Добрый вечер! Решил для саморазвития написать что-то вроде конструктора 2D-игр. Проблема...

Создание папки с уникальным названием
У меня есть строка, которая создает папку с определенным названием в Temp, мне же надо, чтобы при...

8
44 / 45 / 15
Регистрация: 11.08.2010
Сообщений: 226
25.04.2011, 10:44
Как получить название файла/папки и записать это название в массив или строку.
Конкретизируй. Тебе надо получить название папок\файлов в папке, в которой запустилась программа?

C#
1
2
3
4
5
6
7
8
9
10
11
            DirectoryInfo info = new DirectoryInfo(Directory.GetCurrentDirectory());
            FileInfo[] files = info.GetFiles();
            DirectoryInfo[] dirs = info.GetDirectories();
            List<string> filesName = new List<string>();
            List<string> direcName = new List<string>();
 
            for (int i = 0; i < files.Length; ++i)
                filesName[i] = files[i].Name;
 
            for (int i = 0; i < dirs.Length; ++i)
                direcName[i] = dirs[i].Name;
0
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 5
25.04.2011, 11:16  [ТС]
нет, название файла/папки, к примеру, расположенных на раб. столе
0
 Аватар для wade25
145 / 145 / 3
Регистрация: 25.03.2011
Сообщений: 512
26.04.2011, 07:13
Вам нужно использовать компоненты - DriveListBox и FileListBox

Не по теме:

их нужно в добавить самостоятельно в меню инструментов.

1
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 5
13.05.2011, 23:13  [ТС]
часть вопроса реализовал, немогу разобраться, как мне получать название выделенного щелчком мыши файла/директории, и собственно, передать это название (можно полный путь - было бы что передать) программе.
Программа запускается экзешником, который вызывается из своего пункта в контекстном меню(программно добавил в реестр разделы и записи, в каталоге "command" значение по умолчанию заменил на путь к исполняемому файлу). Согласен что не лучший вариант.

Добавлено через 1 час 16 минут
для того чтобы было понятнее, конкретизирую - хочу чтобы приложение получало название файла по аналогии с winrar'ом, вот когда щелкаешь правой кнопкой мыши по файлу/папке, winrar распознает название и предлагает запаковать этот файл в архив с соответствующим названием.
0
1 / 1 / 0
Регистрация: 14.05.2011
Сообщений: 16
14.05.2011, 15:39
эм) по-моему, вы говорите о том, что относится к реестру, а не к C#)

Добавлено через 27 минут
Прошу прощения, читал невнимательно)
0
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 5
14.05.2011, 16:00  [ТС]
в некотором роде, ты прав.
решил проблему, добавляю в реестр помимо пути к исполняему файлу проекта еще "%1" и читаю параметры командной строки, потом вычленю оттуда название файла.

но возникла проблема, вернее она возникла еще раньше, не могу разобраться.

перед загрузкой главной формы с помощью mutex проверяю на наличие уже запущенного экземлпяра, по задумке если есть уже запущенный экземпляр то старый экземпляр закрывается а новый открывается, однако пока выходит наоборот, старый остается без изменений а закрывается новый.
0
Заблокирован
15.05.2011, 11:00
Цитата Сообщение от Sanegg Посмотреть сообщение
если есть уже запущенный экземпляр то старый экземпляр закрывается а новый открывается
Интересненькое пожелание))) Расскажешь зачем? Попробуй так. Вроде работает.
C#
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
 using System.Runtime.InteropServices;
    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        public static extern int FindWindow(
            string lpClassName, // class name 
            string lpWindowName // window name 
        );
 
        [DllImport("user32.dll")]
        public static extern int SendMessage(
            int hWnd, // handle to destination window 
            uint Msg, // message 
            int wParam, // first message parameter 
            int lParam // second message parameter 
        );
 
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_CLOSE = 0xF060;
        string title;
 
        public Form1()
        {
            
            InitializeComponent();
 
            title = this.Text;
            // Determine the handle to the Application window. 
            int iHandle = FindWindow(null, title);
 
            // Post a message to Application to end its existence. 
            SendMessage(iHandle, WM_SYSCOMMAND,
                SC_CLOSE, 0);
 
            
        }
1
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 5
15.05.2011, 17:42  [ТС]
Цитата Сообщение от 3G Посмотреть сообщение
Расскажешь зачем?
у меня приложению при запуске передаются параметры командной строки, и всегда разные. Поэтому смысла в простом запрете запуска второго экземпляра нет.

спасибо, вечером попробую)

Добавлено через 6 часов 35 минут
метод работает, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2011, 17:42
Помогаю со студенческими работами здесь

Извлечь имя папки файла начиная с определенной папки
Собстно вопрос. Как извлечь имя папки файла начиная с определенной папки Например полное имя:...

Узнать полный путь с названием и расширением файла своей программы
Как узнать полный путь с названием и расширением файла своей программы?

Создание файла с названием из строки
Всем доброго времени суток, Помогите создать файл название которого берется из строковой...

Вывод окна ошибки при отсутствии файла с нужным названием
Здравствуйте, нужна помощь по выводе ошибки. Не могу понять, нужно куда-то пихать кусок кода в...

Определение папки Windows, системной папки
Как сделать, чтобы приложение определило системную папку, папку Windows папку Common files и т.д.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru