#if NETFX

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace IWshRuntimeLibrary
{
	// Token: 0x02000006 RID: 6
	[TypeLibType(4176)]
	[Guid("24BE5A30-EDFE-11D2-B933-00104B365C9F")]
	[ComImport]
	internal interface IWshShell2 : IWshShell
	{
		// Token: 0x1700000A RID: 10
		// (get) Token: 0x06000021 RID: 33
		[DispId(100)]
		IWshCollection SpecialFolders { [DispId(100)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x1700000B RID: 11
		// (get) Token: 0x06000022 RID: 34
		[DispId(200)]
		IWshEnvironment Environment { [DispId(200)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x06000023 RID: 35
		[DispId(1000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		int Run([MarshalAs(UnmanagedType.BStr)] [In] string Command, [MarshalAs(UnmanagedType.Struct)] [In] ref object WindowStyle, [MarshalAs(UnmanagedType.Struct)] [In] ref object WaitOnReturn);

		// Token: 0x06000024 RID: 36
		[DispId(1001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		int Popup([MarshalAs(UnmanagedType.BStr)] [In] string Text, [MarshalAs(UnmanagedType.Struct)] [In] ref object SecondsToWait, [MarshalAs(UnmanagedType.Struct)] [In] ref object Title, [MarshalAs(UnmanagedType.Struct)] [In] ref object Type);

		// Token: 0x06000025 RID: 37
		[DispId(1002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.IDispatch)]
		object CreateShortcut([MarshalAs(UnmanagedType.BStr)] [In] string PathLink);

		// Token: 0x06000026 RID: 38
		[DispId(1006)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string ExpandEnvironmentStrings([MarshalAs(UnmanagedType.BStr)] [In] string Src);

		// Token: 0x06000027 RID: 39
		[DispId(2000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Struct)]
		object RegRead([MarshalAs(UnmanagedType.BStr)] [In] string Name);

		// Token: 0x06000028 RID: 40
		[DispId(2001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void RegWrite([MarshalAs(UnmanagedType.BStr)] [In] string Name, [MarshalAs(UnmanagedType.Struct)] [In] ref object Value, [MarshalAs(UnmanagedType.Struct)] [In] ref object Type);

		// Token: 0x06000029 RID: 41
		[DispId(2002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void RegDelete([MarshalAs(UnmanagedType.BStr)] [In] string Name);

		// Token: 0x0600002A RID: 42
		[DispId(3000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		bool LogEvent([MarshalAs(UnmanagedType.Struct)] [In] ref object Type, [MarshalAs(UnmanagedType.BStr)] [In] string Message, [MarshalAs(UnmanagedType.BStr)] [In] string Target = "");

		// Token: 0x0600002B RID: 43
		[DispId(3010)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		bool AppActivate([MarshalAs(UnmanagedType.Struct)] [In] ref object App, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);

		// Token: 0x0600002C RID: 44
		[DispId(3011)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void SendKeys([MarshalAs(UnmanagedType.BStr)] [In] string Keys, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);
	}
}

#endif