web assembly鐨勭綉绔欏垪琛ㄣ?br /> 鍏朵腑鍒楀嚭鏉ョ殑涓浜涚煡鍚嶉」鐩細 Google 鐨則ensorflow js, Google Earth, SketchUp AutoCAD 鐨?nbsp;web app Unity 3d 娓告垙寮曟搸 Doom3 demo錛岀儳鏄懼崱3d娓告垙 Microsoft 鐨刡lazor涔熷湪鍏朵腑 榪樻湁涓涓笉鐭ュ悕錛屼絾鏈夎叮鐨刧ame of life娓告垙(铏界劧鐢ㄤ簡c璇█鍐檞asm錛屼絾綆楁硶姣棤浼樺寲) 鍡紝灞呯劧榪樻湁Diablo I
]]>Visual Studio + IIS Express debug problem.http://www.shnenglu.com/aqazero/archive/2020/02/12/217123.htmlbrentbrentWed, 12 Feb 2020 00:35:00 GMThttp://www.shnenglu.com/aqazero/archive/2020/02/12/217123.htmlhttp://www.shnenglu.com/aqazero/comments/217123.htmlhttp://www.shnenglu.com/aqazero/archive/2020/02/12/217123.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/217123.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/217123.html unstalling/reinstalling IIS express, deleting IIS configuration files, deleting the hidden .vs folder under the project, none of this worked.
I started IIS Express in CMD, it showed the message : Unable to launch the IIS Express Web server. The format of the specified network name is invalid - 0x800704BE
]]>Use Skia in MFC or Win32 applicationhttp://www.shnenglu.com/aqazero/archive/2020/02/07/217109.htmlbrentbrentThu, 06 Feb 2020 23:53:00 GMThttp://www.shnenglu.com/aqazero/archive/2020/02/07/217109.htmlhttp://www.shnenglu.com/aqazero/comments/217109.htmlhttp://www.shnenglu.com/aqazero/archive/2020/02/07/217109.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/217109.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/217109.htmlWhat is Skia
Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.
2. Add Skia path to "VC++ Directories" of the project
3. Add Skia library paths to "Additional Library Directories"
4. Add "uafxcw.lib;LIBCMT.lib;opengl32.lib;glu32.lib;skia.lib;sk_app.GLWindowContext.obj;sk_app.GLWindowContext_win.obj" to "Additional Dependencies". Add "uafxcw.lib;LIBCMT.lib;" to "Ignore Specific Default Libraries."
]]>Red Black Tree in C#http://www.shnenglu.com/aqazero/archive/2017/04/29/214894.htmlbrentbrentFri, 28 Apr 2017 21:02:00 GMThttp://www.shnenglu.com/aqazero/archive/2017/04/29/214894.htmlhttp://www.shnenglu.com/aqazero/comments/214894.htmlhttp://www.shnenglu.com/aqazero/archive/2017/04/29/214894.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/214894.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/214894.html I failed to find anything that can be used directly, it is hard to believe, a lot of implement of red-black tree in Java or C++ can be easily got from internet (although none of them meets my requirement), but none in C#.
So I had to implement one, it was translated from a C++ implement and modified to provide an immutable node.
]]>use regular expressions in visual studio to modify xaml in batchhttp://www.shnenglu.com/aqazero/archive/2016/05/10/213484.htmlbrentbrentTue, 10 May 2016 06:23:00 GMThttp://www.shnenglu.com/aqazero/archive/2016/05/10/213484.htmlxmlns:lex="http://schemas.root-project.org/xaml/presentation"
]]>Quotes to live byhttp://www.shnenglu.com/aqazero/archive/2014/01/17/205451.htmlbrentbrentFri, 17 Jan 2014 12:43:00 GMThttp://www.shnenglu.com/aqazero/archive/2014/01/17/205451.htmlhttp://www.shnenglu.com/aqazero/comments/205451.htmlhttp://www.shnenglu.com/aqazero/archive/2014/01/17/205451.html#Feedback1http://www.shnenglu.com/aqazero/comments/commentRss/205451.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/205451.htmlAlways code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - (Martin Golding)
There are two ways to write error-free programs; only the third one works. - (Alan J. Perlis)
A good programmer is someone who always looks both ways before crossing a one-way street. - (Doug Linder)
It should be noted that no ethically -trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. ― Nathaniel S. Borenstein
You've baked a really lovely cake, but then you've used dog sh*t for frosting. ― Steve Jobs
You can disable digitally signed signatures, however it is not recommended. Important: The driver signing enforcement in Windows 7 and Vista is there for a reason. Unsigned drivers could theoretically contain malicious code and harm your computer.
Step 1: Click Start button on the left bottom corner of desktop. In the search box, type "cmd"
Step 2: Go to Run command, and right click on command prompt and click on "Run as administrator".
Step 3: In the command prompt, type in these commands: Be very careful here. BCDEDIT controls how your computer boots up.
IMPORTANT:make a backup of your bcd file first. To do that, type: bcdedit /export C:\savedbcd
This will create a file c:\savebcd which is your boot entry backup. If you mess up, you can always undo changes by:
bcdedit /import c:\savedbcd
Then type these commands:
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING ON
After you finished the steps above mentioned, you have made digital driver signing signature disabled for all installation. So you can install device drivers on Windows 7 without warning message that those drivers should be digitally signed.
NOTE: For Windows 7 64-bit (x64) users! You'll also need to go to "SysWOW64" folder present in C:\Windows folder and copy "GroupPolicy", "GroupPolicyUsers" folders and gpedit.msc file from there and paste them in "C:\Windows\System32" folder.
1) You can override CWinApp::IsIdleMessage to filter some special messages, such as a frequent timer which will not affect what you want to do in CWinApp::OnIdle. Because timer will affect message queue and if you don't filter it, OnIdle will be called every time after the timer is invoked.
2) Sometimes your action in OnIdle will affect message queue inevitably, thus you will get a infinite loop: OnIdle->the special messages in message queue->OnIdle->... But with Method B, with SPY++ you can find the special messages, and filter them in IsIdleMessage.
]]>vista windows 7 areo progress barhttp://www.shnenglu.com/aqazero/archive/2009/11/06/100283.htmlbrentbrentFri, 06 Nov 2009 03:56:00 GMThttp://www.shnenglu.com/aqazero/archive/2009/11/06/100283.htmlhttp://www.shnenglu.com/aqazero/comments/100283.htmlhttp://www.shnenglu.com/aqazero/archive/2009/11/06/100283.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/100283.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/100283.html http://stackoverflow.com/questions/313792/disabling-progress-bar-animation-on-vista-aero http://msdn.microsoft.com/en-us/library/aa511486.aspx
CYourClass::~CYourClass() { for(IMG_VECTOR::iterator it = m_arImage.begin(); it != m_arImage.end(); it++) delete *it; for(HGLB_VECTOR::iterator it = m_arGlobal.begin(); it != m_arGlobal.end(); it++) { ::GlobalUnlock(*it); ::GlobalFree(*it); } }
void CYourClass::AddImage(HMODULE hInst, UINT nResourceID, LPCTSTR lpType) { if(lpType == RT_BITMAP) { //GDI+ can not load RT_BITMAP resouce, //because they are predefined resource, //they don't contains the image file header. assert(FALSE); return; }
HRSRC hResource = ::FindResource(hInst, MAKEINTRESOURCE(nResourceID), lpType); if (!hResource) return;
DWORD imageSize = ::SizeofResource(hInst, hResource); if (!imageSize) return;
constvoid* pResourceData = ::LockResource(::LoadResource(hInst, hResource)); if (!pResourceData) return;
HGLOBAL hBuffer = ::GlobalAlloc(GMEM_FIXED, imageSize); if (NULL == hBuffer) return;
void* pBuffer = ::GlobalLock(hBuffer); if (pBuffer) { CopyMemory(pBuffer, pResourceData, imageSize); IStream* pStream = NULL; if (::CreateStreamOnHGlobal(hBuffer, FALSE, &pStream) == S_OK) { Gdiplus::Image * pImage = Gdiplus::Image::FromStream(pStream); pStream->Release(); if (pImage) { if (pImage->GetLastStatus() == Gdiplus::Ok && pImage->GetWidth() >0) { m_arImage.push_back(pImage); //it seems the image will take usage of the global memory. //so the global memory should be kept until the image destroy. m_arGlobal.push_back(hBuffer); return; }
]]>create mfc dialog by template will drive you mad.http://www.shnenglu.com/aqazero/archive/2008/11/19/67287.htmlbrentbrentWed, 19 Nov 2008 07:10:00 GMThttp://www.shnenglu.com/aqazero/archive/2008/11/19/67287.htmlhttp://www.shnenglu.com/aqazero/comments/67287.htmlhttp://www.shnenglu.com/aqazero/archive/2008/11/19/67287.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/67287.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/67287.html And now, sometimes , i need CMyDialog to be a model dialog (WS_POPUP), sometimes be a child of another dialog(WS_CHILD).
How to make this done without duplicating the template in resource?
Call ModifyStyle after creation? Failed Modify the LPCREATESTRUCT's style in CMyDialog::OnCreate ? Failed. Override PreCreateWindow? Failed.
After a lot of tracing and a lot of googling. I worked out something like this:
m_lpszTemplateName = ATL_MAKEINTRESOURCE(IDD_WALLLAYER_PROPERTYPAGE); // used for help if (m_nIDHelp ==0) m_nIDHelp = LOWORD((DWORD_PTR)m_lpszTemplateName);
If you need your dialog to behavior as WS_POPUP or WS_CHILD without duplicating your dialog template, you just get an ugly answer. And anyone who know another better way, let me know please.
]]>鍥懼艦鏂囨湰緙栬緫鍣ㄧ殑婧愮爜鍜岀畝鍗曟枃妗?/title>http://www.shnenglu.com/aqazero/archive/2008/08/27/60165.htmlbrentbrentWed, 27 Aug 2008 08:05:00 GMThttp://www.shnenglu.com/aqazero/archive/2008/08/27/60165.htmlhttp://www.shnenglu.com/aqazero/comments/60165.htmlhttp://www.shnenglu.com/aqazero/archive/2008/08/27/60165.html#Feedback5http://www.shnenglu.com/aqazero/comments/commentRss/60165.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/60165.html鑷繁瀹炵幇鍥懼艦鏂囨湰緙栬緫鍣?/a> 鎴栬?Graphical Text Proposal (Draft)