나는 프로그램이 코드를 사용하여 시스템 트레이에 DeskBand 개체를 추가하려고 해요를 추가 할 때 :오류 프로그래밍 DeskBand
[ComImport, Guid("6D67E846-5B9C-4db8-9CBC-DDE12F4254F1"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ITrayDeskband
{
[PreserveSig]
int ShowDeskBand([In, MarshalAs(UnmanagedType.Struct)] ref Guid clsid);
[PreserveSig]
int HideDeskBand([In, MarshalAs(UnmanagedType.Struct)] ref Guid clsid);
[PreserveSig]
int IsDeskBandShown([In, MarshalAs(UnmanagedType.Struct)] ref Guid clsid);
[PreserveSig]
int DeskBandRegistrationChanged();
}
private void ShowDeskBand()
{
ITrayDeskband obj = null;
Type trayDeskbandType = System.Type.GetTypeFromCLSID(new Guid("E6442437-6C68-4f52-94DD-2CFED267EFB9"));
try
{
Guid deskbandGuid = new Guid("FE0829F8-EDFA-46B6-87E0-636C8D953E33"); // My Deskband | TestToolbar
obj = (ITrayDeskband)Activator.CreateInstance(trayDeskbandType);
obj.DeskBandRegistrationChanged();
int hr = obj.ShowDeskBand(ref deskbandGuid);
if (hr != 0)
{
throw new Exception("Error while trying to show deskband: " + hr);
}
obj.DeskBandRegistrationChanged();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
if (obj != null && Marshal.IsComObject(obj))
Marshal.ReleaseComObject(obj);
}
}
출처 : http://www.pinvoke.net/default.aspx/Interfaces/ITrayDeskband.html 내 DeskBand 객체는 "BandObjectsLib에서 만든
"이 샘플에서 : http://www.codeproject.com/Articles/14141/Band-Objects-NET-2-0-Redux
은 다음과 같습니다
[Guid("FE0829F8-EDFA-46B6-87E0-636C8D953E33")]
[BandObject("TestToolbar", BandObjectStyle.Horizontal | BandObjectStyle.TaskbarToolBar, HelpText = "Testing this toolbar")]
public class TestToolbar : BandObject
{
public TestToolbar()
{
ProgressBar pb = new ProgressBar();
pb.Maximum = 100;
pb.Minimum = 0;
pb.Value = 50;
this.Controls.AddRange(new System.Windows.Forms.Control[] { pb });
}
}
그러나, DeskBand 개체를 추가하려고 할 때 내가 얻을 모두가 나에게 오류 코드를 말하는 내 예외 : -2147467259 이 오류 코드는 0X80004005로 변환하고 MSDN에 따라 E_FAIL입니다 : 나는 'http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137.aspx
이것이 솔직히 내 전문 분야가 아니기 때문에 기본적으로 여기에서 붙어 있습니다. 나는 경험이 풍부하고 나를 도울 수있는 누군가가 있기를 바라고 있었습니까? 미리 감사드립니다!