扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如没有现存的办法的话只能读取注册表,以txt文件为类:
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站建设、朝阳网络推广、小程序制作、朝阳网络营销、朝阳企业策划、朝阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供朝阳建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
HKEY_CLASSES_ROOT\.txt '在这个地址有个默认属性值是:txtfile
HKEY_CLASSES_ROOT\txtfile\shell\open\command '这里的默认属性值txtfile的关联程序:%SystemRoot%\system32\NOTEPAD.EXE %1
我暂不了解vb.net读注册表函数(刚在学),以vbs为类:
Dim WshShell
Set WshShell = WScript.CreateObject("Wscript.Shell")
Dim Ext
ext= WshShell.RegRead ("HKEY_CLASSES_ROOT\.mp3\") '这里的扩展名.mp3可以改成其它的看看
MsgBox WshShell.RegRead ("HKEY_CLASSES_ROOT\" ext "\shell\open\command\")
楼下的根本不对。exe右键是没有“打开方式”的,也没必要因为这个问题而还原系统。把exe设置为直接运行,方法:新建一个txt文件,输入ftype exefile="%1" %* ,保存,把扩展名改为bat,双击这个文件,就好了。
1 新建安装部署项目
打开VS2005,点击新建项目,选择:其他项目类型-安装与部署-安装向导(安装项目),然后点击确定。
2 安装向导
关闭后打开安装向导,点击下一步,或者直接点击完成。
3 开始制作
安装向导完成后即可进入项目文件夹:
双击"应用程序文件夹"在右边的空白处右击,选择添加-文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。这样安装程序安装完成后会在 "开始-所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用户的'程序'菜单"和"用户桌面"相应目录下新建快捷方式,然后定位到你的文件。
然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:\Program Files\你的用户名\安装解决方案名称";
然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备", 在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。选上以后,在生成的安装文件包中包含.NetFramework组件 。好了,这样就完成99%了,然后点击"生成-生成解决方案",生成成功!
我以前参考过的,希望对你有帮助。
安装完成后自动启动程序
1.新建一个空的项目InstallCompenent,步骤为:解决方案-右键添加-新建项目-选择"空项目"-输入名称"InstallCompenent"-确定,完成项目的添加.
2.在InstallCompenent项目中右键-添加-新建项-选择安装程序类-输入名称"Installer",完成installer类的添加.
修改代码为:
/// summary
/// 功能是做安装项目主项目输出
/// 实现安装过程中的一些操作
/// 如:安装完成后启动项目
/// /summary
[RunInstaller(true)]
public partial class Installer : Installer
{
/// summary
/// 应用程序入口
/// /summary
public static void Main()
{
}
/// summary
/// 构造函数
/// /summary
public ECSuitsInstaller()
{
InitializeComponent();
}
/// summary
/// 重写安装完成后函数
/// 实现安装完成后自动启动已安装的程序
/// /summary
/// param name="savedState"/param
protected override void OnAfterInstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
System.Diagnostics.Process.Start(path + "\\ECSuits.exe");
}
/// summary
/// 重写安装过程方法
/// /summary
/// param name="stateSaver"/param
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
/// summary
/// 重写安装之前方法
/// /summary
/// param name="savedState"/param
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
}
/// summary
/// 重写卸载方法
/// /summary
/// param name="savedState"/param
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
/// summary
/// 重写回滚方法
/// /summary
/// param name="savedState"/param
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
}
3.在安装项目中右键-添加项目输出-选择"项目"-InstallCompenent.
完成主输出项目的添加.
4.打开自定义操作编辑器,在安装-右键-添加自定义操作-选择"应用程序文件夹"-选择"主输出来自InstallCompenent",完成添加.
楼上的Imports System.Windows.Forms 方法欠妥...因为项目并未引用这个DLL,所以无法引入这个命名空间.
为了解决你的问题, 需要使用自定义项目模板, 方法如下.
1.建立一个空的 控制台应用程序, 可采用默认名字.
2.不要对这个项目的其他文件做修改,仅在"项目-加添引用"中添加system.windows.forms.
3.全部保存项目.
4.{关键}在菜单中: 文件-导出模板.
选择"项目模板",(下面的combobox默认选择了当前打开的项目).点下一步.
填写模板名称和说明, 建议起英文名称, 我这里示例的命名为"带Form的控制台".选中复选框.
此时, 你的上述动作就被记录为一种新的项目模板了. 这是单击新建项目, 就可以在"我的模板"中找到了,用这个模板建立项目, 就能满足你的要求, 如图片所示.
希望对你有帮助
你是不是用的Visual Studio来开发的?如果是,这样操作:打开 项目 菜单 中的 XXX属性,在弹出的属性页选择最上面那个 应用程序 标签,里面有个启动窗体,你选择一下就可以了。
如果你不是用的visual Studio来开发的,那么可以考虑把另外一个窗口的visible属性先设置为false或者把你要显示的窗口改为对话框的形式,大小比另外一个窗口大一点或者一样(即 模态窗口,必须关闭才能继续操作),这样都可以实现你要的效果。
1、如果上一个窗体是程序的主窗体(默认是程序的第一个窗体),
则不能关闭这个窗体,只能隐藏(Me.Hide())这个窗体,否则整
个程序就被关掉了。
2、如果上一个窗体不是程序的主窗体,可以用Me.Close()
关闭。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流