Как я могу добавить контекстное меню к Windows Explorer для JAVA-приложения?

Попробуйте эту функцию передать путь к данным и файлам, куда вы хотите экспортировать

public void CreateCSVFile(ref DataTable dt, string strFilePath)
{            
    try
    {
        // Create the CSV file to which grid data will be exported.
        StreamWriter sw = new StreamWriter(strFilePath, false);
        // First we will write the headers.
        //DataTable dt = m_dsProducts.Tables[0];
        int iColCount = dt.Columns.Count;
        for (int i = 0; i < iColCount; i++)
        {
            sw.Write(dt.Columns[i]);
            if (i < iColCount - 1)
            {
                sw.Write(",");
            }
        }
        sw.Write(sw.NewLine);

        // Now write all the rows.

        foreach (DataRow dr in dt.Rows)
        {
            for (int i = 0; i < iColCount; i++)
            {
                if (!Convert.IsDBNull(dr[i]))
                {
                    sw.Write(dr[i].ToString());
                }
                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }

            sw.Write(sw.NewLine);
        }
        sw.Close();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}
17
задан Thilo 15 December 2008 в 23:55
поделиться

1 ответ

Я знаю о двух способах сделать это. Необычный путь состоит в том, чтобы записать, окна окружают расширение, которое является, как powerarchiver, winzip и т.д. делают это, я верю (это включает рабочий код для определения то, что объекты контекстного меню будут зависеть от выбранного файла).

простой путь, для простой функциональности, является Вами, может добавить запись в реестре:

HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command

, Где <file type> файлы, что это контекстное меню должно относиться т.е. *, .mdb, .doc

и

<display text>, что Вы хотите показать в контекстном меню.

Тогда добавляют строку по умолчанию как путь к приложению, которое Вы хотите запустить из контекстного меню, и можно использовать %1 для обращения к в настоящее время выбираемому файлу, т.е. для Доступа MS я использую:

HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"

Это тогда добавляет объект контекстного меню для любого файла, который я выбираю (следовательно *), который позволяет мне запускать его в Access 2000 MS.

, Конечно, всегда создавайте резервную копию своего реестра прежде, чем взломать его.

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

16
ответ дан 30 November 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: