void IContextMenu.InvokeCommand(IntPtr pici) { InvokeCommandInfo cmdInfo = (InvokeCommandInfo)Marshal.PtrToStructure(pici, typeof(Win32API.InvokeCommandInfo)); StringBuilder sb = new StringBuilder(1024); StringBuilder sbAll = new StringBuilder(); uint nselected = Helpers.DragQueryFile((uint)_UnionMember, 0xffffffff, null, 0); for (uint i = 0; i < nselected; i++) { Helpers.DragQueryFile((uint)_UnionMember, i, sb, sb.Capacity + 1); sbAll.Append(sb.ToString()); } switch (cmdInfo.Verb.ToInt32()) { case 0: //删除 .svn DeleteMatchingFolder(sbAll.ToString(), ".svn"); break; case 1: //删除 Thumbs.db DeleteMatchingFile(sbAll.ToString(), "Thumbs.db"); break; case 2: //批量重命名 BatchRenameForm renameForm = new BatchRenameForm(sbAll.ToString()); renameForm.Show(); break; case 3: //批量文本编码格式转换 EncodingConvertForm encodingForm = new EncodingConvertForm(sbAll.ToString()); encodingForm.Show(); break; case 4: //发送反馈邮件 Process proc = new Process(); proc.StartInfo.FileName = "IExplore.exe"; proc.StartInfo.CreateNoWindow = true; proc.StartInfo.Arguments = "mailto:[email protected]?subject=ContextMenuExtensionFactory Suggestion"; proc.Start(); proc.WaitForExit(); proc.Close(); break; default: break; } }
public void TestChangeEncoding() { EncodingConvertForm from = new EncodingConvertForm(@"E:\MySolution\GreedyPenguin"); from.ShowDialog(); }