Ejemplo n.º 1
0
        public void BuildCustomShortcut()
        {
            VbsFilePath = VbsFolderPath + ShortcutName + ".vbs";

            File.WriteAllText(VbsFilePath,
                              string.Format(Resources.CustomShortcutVbsTemplate,
                                            ShortcutName.EscapeVba(),
                                            ShortcutItem.ShortcutFileInfo.FullName.EscapeVba(),
                                            TargetPath.QuoteWrap().EscapeVba(),
                                            TargetArguments.EscapeVba(),
                                            ShortcutType,
                                            (int)WindowType
                                            ));

            ShortcutUtils.CreateLnkFile(ShortcutItem.ShortcutFileInfo.FullName, VbsFilePath,
                                        ShortcutName + " shortcut created by TileIconifier",
                                        iconPath: BasicShortcutIcon,
                                        workingDirectory: WorkingFolder
                                        );
        }
        protected void Build(CustomShortcut customShortcut, Image iconImage = null)
        {
            if (iconImage != null)
            {
                GenerateNewIcon(customShortcut, iconImage);
            }

            customShortcut.VbsFilePath = customShortcut.VbsFolderPath + customShortcut.ShortcutName + ".vbs";

            var targetDir = "";

            try
            {
                targetDir = $@"{new FileInfo(customShortcut.TargetPath).Directory?.FullName}\".EscapeVba();
            }
            catch
            {
                //ignore
            }

            File.WriteAllText(customShortcut.VbsFilePath,
                              string.Format(Resources.CustomShortcutVbsTemplate,
                                            customShortcut.ShortcutName.EscapeVba(),
                                            customShortcut.ShortcutItem.ShortcutFileInfo.FullName.EscapeVba(),
                                            customShortcut.TargetPath.QuoteWrap().EscapeVba(),
                                            customShortcut.TargetArguments.EscapeVba(),
                                            ShortcutType,
                                            (int)customShortcut.WindowType,
                                            targetDir
                                            ), Encoding.Unicode);

            ShortcutUtils.CreateLnkFile(customShortcut.ShortcutItem.ShortcutFileInfo.FullName,
                                        customShortcut.VbsFilePath,
                                        customShortcut.ShortcutName + " shortcut created by TileIconifier",
                                        iconPath: customShortcut.BasicShortcutIcon,
                                        workingDirectory: customShortcut.WorkingFolder
                                        );
        }