fre*_*e0n 12 .net c# special-folders setup-deployment
有谁知道如何以编程方式访问"所有用户"启动菜单?
在XP中,位于:
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Run Code Online (Sandbox Code Playgroud)
在Windows 7中,位于此处:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Run Code Online (Sandbox Code Playgroud)
具体来说,我有一个安装和部署项目,我想在所有用户的Startup菜单中为应用程序添加一个快捷方式,以便每当有人登录时启动应用程序.
Mik*_*ray 21
在.NET 4 CommonStartMenu中添加了Environment.SpecialFolder枚举,因此您可以使用:
Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu)
Run Code Online (Sandbox Code Playgroud)
Bri*_*ndy 17
Environment.GetFolderPath对于所有用户开始菜单的常规方式没有常量定义,但您可以通过使用Win32 API以这种方式执行此操作SHGetSpecialFolderPath:
class Program
{
[DllImport("shell32.dll")]
static extern bool SHGetSpecialFolderPath(IntPtr hwndOwner,
[Out] StringBuilder lpszPath, int nFolder, bool fCreate);
const int CSIDL_COMMON_STARTMENU = 0x16; // All Users\Start Menu
static void Main(string[] args)
{
StringBuilder path = new StringBuilder(260);
SHGetSpecialFolderPath(IntPtr.Zero, path, CSIDL_COMMON_STARTMENU, false);
string s = path.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14670 次 |
| 最近记录: |