mirror of https://github.com/dahall/Vanara.git
Futher work on ControlPanel class
parent
fb885d09d9
commit
f59699c64c
|
@ -1,4 +1,9 @@
|
|||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Vanara.InteropServices;
|
||||
using Vanara.PInvoke;
|
||||
using static Vanara.PInvoke.Shell32;
|
||||
|
||||
namespace Vanara.Windows.Shell.Tests
|
||||
|
@ -9,10 +14,28 @@ namespace Vanara.Windows.Shell.Tests
|
|||
[Test]
|
||||
public void ControlPanelOpenTest()
|
||||
{
|
||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.BitLockerDriveEncryption), Throws.Nothing);
|
||||
Assert.That(() => ControlPanel.Open((ControlPanelItem)0xFFFF), Throws.Exception);
|
||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.DefaultPrograms, "pageFileAssoc"), Throws.Nothing);
|
||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.DefaultPrograms, "XX"), Throws.Exception);
|
||||
const int sz = 128;
|
||||
var cp = new IOpenControlPanel();
|
||||
var sb = new StringBuilder(sz, sz);
|
||||
//var mem = new SafeCoTaskMemString("Microsoft.Display", CharSet.Unicode);
|
||||
cp.GetPath(null, sb, sz);
|
||||
Assert.That(sb.Length, Is.GreaterThan(0));
|
||||
cp = null;
|
||||
//Assert.That(ControlPanel.Open(), Is.True);
|
||||
//Assert.That(ControlPanel.Open(ControlPanelItem.BitLockerDriveEncryption), Is.True);
|
||||
//Assert.That(ControlPanel.Open((ControlPanelItem)0xFFFF), Is.False);
|
||||
//Assert.That(ControlPanel.Open(ControlPanelItem.DefaultPrograms, "pageFileAssoc"), Is.True);
|
||||
//Assert.That(ControlPanel.Open(ControlPanelItem.DefaultPrograms, "XX"), Is.False);
|
||||
//Assert.That(ControlPanel.Open(ControlPanelItem.AutoPlay), Is.True);
|
||||
//Assert.That(() => ControlPanel.IsClassicView, Throws.Nothing);
|
||||
//Assert.That(() => ControlPanel.GetPath(null), Throws.Nothing);
|
||||
//bool found = false;
|
||||
//foreach (ControlPanelItem cpi in System.Enum.GetValues(typeof(ControlPanelItem)))
|
||||
// try { TestContext.WriteLine($"{cpi} = {ControlPanel.GetPath(cpi)}"); found = true; }
|
||||
// catch { }
|
||||
//Assert.That(found);
|
||||
//Assert.That(() => ControlPanel.GetPath(ControlPanelItem.DefaultPrograms), Throws.Nothing);
|
||||
//Assert.That(() => ControlPanel.GetPath(ControlPanelItem.AutoPlay), Throws.Nothing);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -86,11 +86,11 @@ namespace Vanara.Windows.Shell
|
|||
{
|
||||
const int cchPath = 128;
|
||||
var pszPath = new StringBuilder(cchPath, cchPath);
|
||||
icp.GetPath(pszName, pszPath, cchPath).ThrowIfFailed();
|
||||
icp.GetPath(pszName, pszPath, cchPath);
|
||||
return pszPath.ToString();
|
||||
}
|
||||
|
||||
public bool Open(string pszName = null, string page = null, object punkSite = null) => icp.Open(pszName, page, punkSite).Succeeded;
|
||||
public bool Open(string pszName = null, string page = null, object punkSite = null) { try { icp.Open(pszName, page, punkSite); return true; } catch { return false; } }
|
||||
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue