All pastes #825148 Raw Edit

Mine

public text v1 · immutable
#825148 ·published 2007-12-20 11:13 UTC
rendered paste body
var Filter = "Image Files |*.png||";
		var OPENFILENAME = Interop.Allocate(88);
		OPENFILENAME.WriteDWORD(0, OPENFILENAME.Size);
		OPENFILENAME.WriteDWORD(4, wnd.Handle);
		OPENFILENAME.WriteDWORD(8, 0); //hInstance
		OPENFILENAME.WriteDWORD(12, WriteMultiStringW(Interop.Allocate(Filter.length *2 +2), Filter).DataPtr); //lpstrFilter
		OPENFILENAME.WriteDWORD(16, 0); //lpstrCustomFilter
		OPENFILENAME.WriteDWORD(20, 0); //nMaxCustFilter
		OPENFILENAME.WriteDWORD(24, 1); //nFilterIndex
		var File = Interop.Allocate((255 +1) *2); //lpstrFile
		OPENFILENAME.WriteDWORD(28,File.DataPtr ); //lpstrFile
		OPENFILENAME.WriteDWORD(32,255 ); //nMaxFile
		OPENFILENAME.WriteDWORD(36, 0); //lpstrFileTitle
		OPENFILENAME.WriteDWORD(40, 0); //nMaxFileTitle
		OPENFILENAME.WriteDWORD(44, 0); //lpstrInitialDir
		
		var title = "Open Default display picture";
		var Title = Interop.Allocate((title.length +1) *2);
		OPENFILENAME.WriteDWORD(48, Title.DataPtr); //lpstrTitle
		OPENFILENAME.WriteDWORD(52, OFN_DONTADDTORECENT | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST); //Flags
		OPENFILENAME.WriteWORD(56, 0); // nFileOffset
		OPENFILENAME.WriteWORD(56, 0); // nFileOffset
		OPENFILENAME.WriteWORD(58, 0); // nFileExtension
		OPENFILENAME.WriteDWORD(60, 0); // lpstrDefExt
		OPENFILENAME.WriteDWORD(64, 0); // lCustData
		OPENFILENAME.WriteDWORD(68, 0); // lpfnHook
		OPENFILENAME.WriteDWORD(72, 0); // lpTemplateName
		OPENFILENAME.WriteDWORD(76, 0); // pvReserved
		OPENFILENAME.WriteDWORD(80, 0); // dwReserved
		OPENFILENAME.WriteDWORD(84, 0); // FlagsEx
		
		Interop.Call("Comdlg32", "GetOpenFileNameW", OPENFILENAME)
		
		var ret =  File.ReadString(0);
		if(ret){
			wnd.SetControlText('albumDefaultCover', ret);
			wnd.ImageElmt_SetImageFile("preview", "\\" + ret);
		}