#if NETFX

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

namespace IWshRuntimeLibrary
{
	// Token: 0x02000036 RID: 54
	[TypeLibType(18)]
	[ClassInterface(ClassInterfaceType.None)]
	[Guid("F935DC22-1CF0-11D0-ADB9-00C04FD58A0B")]
	[ComImport]
	internal class IWshShell_ClassClass : IWshShell3, IWshShell_Class
	{
		// // Token: 0x06000165 RID: 357
		// [MethodImpl(MethodImplOptions.InternalCall)]
		// public extern IWshShell_ClassClass();

		// Token: 0x17000090 RID: 144
		// (get) Token: 0x06000166 RID: 358
		[DispId(100)]
		public virtual extern IWshCollection SpecialFolders { [DispId(100)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x17000091 RID: 145
		// (get) Token: 0x06000167 RID: 359
		[DispId(200)]
		public virtual extern IWshEnvironment Environment { [DispId(200)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

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

		// Token: 0x06000169 RID: 361
		[DispId(1001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern 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: 0x0600016A RID: 362
		[DispId(1002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.IDispatch)]
		public virtual extern object CreateShortcut([MarshalAs(UnmanagedType.BStr)] [In] string PathLink);

		// Token: 0x0600016B RID: 363
		[DispId(1006)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		public virtual extern string ExpandEnvironmentStrings([MarshalAs(UnmanagedType.BStr)] [In] string Src);

		// Token: 0x0600016C RID: 364
		[DispId(2000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Struct)]
		public virtual extern object RegRead([MarshalAs(UnmanagedType.BStr)] [In] string Name);

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

		// Token: 0x0600016E RID: 366
		[DispId(2002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void RegDelete([MarshalAs(UnmanagedType.BStr)] [In] string Name);

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

		// Token: 0x06000170 RID: 368
		[DispId(3010)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern bool AppActivate([MarshalAs(UnmanagedType.Struct)] [In] ref object App, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);

		// Token: 0x06000171 RID: 369
		[DispId(3011)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void SendKeys([MarshalAs(UnmanagedType.BStr)] [In] string Keys, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);

		// Token: 0x06000172 RID: 370
		[DispId(3012)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		public virtual extern WshExec Exec([MarshalAs(UnmanagedType.BStr)] [In] string Command);

		// Token: 0x17000092 RID: 146
		// (get) Token: 0x06000173 RID: 371
		// (set) Token: 0x06000174 RID: 372
		[DispId(3013)]
		public virtual extern string CurrentDirectory { [DispId(3013)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; [DispId(3013)] [MethodImpl(MethodImplOptions.InternalCall)] [param: MarshalAs(UnmanagedType.BStr)] set; }
	}
}

#endif