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 NUnit.Framework;
|
||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using Vanara.InteropServices;
|
||||||
|
using Vanara.PInvoke;
|
||||||
using static Vanara.PInvoke.Shell32;
|
using static Vanara.PInvoke.Shell32;
|
||||||
|
|
||||||
namespace Vanara.Windows.Shell.Tests
|
namespace Vanara.Windows.Shell.Tests
|
||||||
|
@ -9,10 +14,28 @@ namespace Vanara.Windows.Shell.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void ControlPanelOpenTest()
|
public void ControlPanelOpenTest()
|
||||||
{
|
{
|
||||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.BitLockerDriveEncryption), Throws.Nothing);
|
const int sz = 128;
|
||||||
Assert.That(() => ControlPanel.Open((ControlPanelItem)0xFFFF), Throws.Exception);
|
var cp = new IOpenControlPanel();
|
||||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.DefaultPrograms, "pageFileAssoc"), Throws.Nothing);
|
var sb = new StringBuilder(sz, sz);
|
||||||
Assert.That(() => ControlPanel.Open(ControlPanelItem.DefaultPrograms, "XX"), Throws.Exception);
|
//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;
|
const int cchPath = 128;
|
||||||
var pszPath = new StringBuilder(cchPath, cchPath);
|
var pszPath = new StringBuilder(cchPath, cchPath);
|
||||||
icp.GetPath(pszName, pszPath, cchPath).ThrowIfFailed();
|
icp.GetPath(pszName, pszPath, cchPath);
|
||||||
return pszPath.ToString();
|
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)
|
protected virtual void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue