{"id":19789611,"url":"https://github.com/webfreak001/dwinprogramming","last_synced_at":"2025-02-28T08:54:59.625Z","repository":{"id":146626538,"uuid":"42069673","full_name":"WebFreak001/DWinProgramming","owner":"WebFreak001","description":"Fork because original project doesn't exist anymore","archived":false,"fork":false,"pushed_at":"2015-09-07T19:00:19.000Z","size":2844,"stargazers_count":19,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-11T04:13:42.925Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/AndrejMitrovic/DWinProgramming","language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WebFreak001.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-07T18:59:52.000Z","updated_at":"2022-05-05T07:01:30.000Z","dependencies_parsed_at":"2023-04-07T04:55:52.038Z","dependency_job_id":null,"html_url":"https://github.com/WebFreak001/DWinProgramming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FDWinProgramming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FDWinProgramming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FDWinProgramming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FDWinProgramming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebFreak001","download_url":"https://codeload.github.com/WebFreak001/DWinProgramming/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241126674,"owners_count":19914058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T06:34:03.326Z","updated_at":"2025-02-28T08:54:59.607Z","avatar_url":"https://github.com/WebFreak001.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DWinProgramming - D WinAPI programming\nThis is a collection of samples from Charles Petzold's Programming Windows book,\ntranslated into the D programming language. It also contains a small collection\nof other Windows API samples.\n\nSee examples.txt for a description of the samples.\n\nThis project has been created by Andrej Mitrovic.\nProject Homepage: https://github.com/AndrejMitrovic/DWinProgramming\n\n## Building Requirements\n- Windows XP or newer.\n- Compiler: [DMD] v2.065 or [GDC] 2.065.\n\n[DMD]: http://dlang.org/download.html\n[GDC]: http://gdcproject.org/downloads/\n\n## Building\n\nCompile the build script:\n\n    $ make_build.bat\n\nAnd then to build all samples via DMD call:\n\n    $ build.exe\n\nAlternatively to build all the samples via GDC call:\n\n    $ build.exe GDC\n\n    Note: Building all samples is quite slow with GDC at the moment.\n\nTo build only a single example, CD to its directory and run:\n\n    $ ..\\..\\..\\build.exe filename.d (filename being the main file)\n\nOther options are: clean, debug.\n\n## Useful Scripts\n- Use `dbg.bat` to quickly invoke the ddbg debugger on an executable. ('dbg main.exe')\n- Use `gdmd.bat` to invoke the GDMD perl script. ('gdmd main.d -ofmain.exe')\n- Use `where.bat` to find out the location of an exe/batch file. ('where dmd')\n\n## Optional Tools\n- HTOD: http://www.digitalmars.com/d/2.0/htod.html\n    HTOD needs to be in your PATH. It's probably best to put it in the \\DMD2\\Windows\\Bin\n    directory.\n\n- Microsoft RC compiler and header files. Without these the build script will use\n  precompiled .res files.\n    - Unless you have Visual Studio installed, get it from:\n    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505\u0026displaylang=en\n    - RC needs to be in your PATH if you want to compile resources. If you have Visual Studio installed, you can use the Visual Studio Command Prompt.\n\n    Note: This is a big download, depending on what you select in the setup.\n    Note: DigitalMars has a resource compiler, but it still requires header files.\n          See the \"Using Resources in D\" Tutorial in the Links section.\n\n    - Create the RCINCLUDES environment variable and add paths to the header files needed\n      by the RC resource compiler.\n      On an XP system these paths could be:\n        C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Include\n        C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\include\n        C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\atlmfc\\include\n\n      Typically the include paths for resource header files are different on each system,\n      so you will have to adjust these.\n\n    Note: The build script will attempt to find these default paths if you don't have\n          RCINCLUDES already set up.\n    Note: Setting up an environment variable might require you to log off and log on\n          again before the build script can pick up the new changes.\n\n- The uncrustify executable bundled with UniversalIndentGUI could be outdated compared to\n  the latest Uncrustify version.\n  Please see the Uncrustify homepage in the Links section in this Readme to get the\n  latest binary or to compile from source.\n\n## Contact\nPlease do not e-mail Charles Petzold about bugs in these examples,\nany bugs in these samples are entirely my fault.\nFile bugs here: https://github.com/AndrejMitrovic/DWinProgramming/issues\n\n## Acknowledgments\nThanks to the authors of the WindowsAPI translation project:\nhttp://dsource.org/projects/bindings/wiki/WindowsApi\n\nBig Thanks to Charles Petzold for writing a great Windows API programming book and\nfor allowing me to host these code samples online.\n\n## Contributors\nSimen Endsjø tested the project on an x64 Win7 system and found several issues.\nLeonardo Maffi created a Python script that got rid of stray parens.\n\nThanks goes out to all contributors.\n\n## Licensing\nAll code examples copyright belongs to Charles Petzold.\nAlso see the answer to the 3rd question here:\nhttp://www.charlespetzold.com/faq.html\n\n## Links\nD2 Programming Language Homepage: http://d-programming-language.org/\n\nCode samples of using Win32 API and Cairo: https://github.com/AndrejMitrovic/cairoDSamples\n\nHow to make extensionless files open in your editor in WinXP: http://perishablepress.com/press/2006/08/08/associate-extensionless-files-with-notepad/\n    Note: Also, make sure you hit the 'Open with' button and select your editor.\n\nHow to make extensionless files open in your editor in Windows 7 and Windows 8 (and probably XP):\nRun this in the command prompt:\n    assoc .=\"No Extension\"\n    ftype \"No Extension\"=\"C:\\path\\to\\your editor.exe\" \"%1\"\nAlso see http://superuser.com/a/13947/47065\n\nProgramming Windows Homepage: http://www.charlespetzold.com/pw5/\n\nProgramming Windows C Code Samples: http://www.charlespetzold.com/books.html\n(search for ProgWin5.zip)\n\nCharles Petzold FAQ: http://www.charlespetzold.com/faq.html\n\nProgramming Windows Errata #1: http://www.computersciencelab.com/PetzoldErrata.htm\n\nProgramming Windows Errata #2: http://www.jasondoucette.com/books/pw5/pw5errata.html\n\nMSDN GDI page: http://msdn.microsoft.com/en-us/library/dd145203%28v=vs.85%29.aspx\n\nMSDN list of Windows APIs: http://msdn.microsoft.com/en-us/library/ff818516.aspx\n\nWindows API bindings: http://dsource.org/projects/bindings/wiki/WindowsApi\n\nRDMD: http://www.digitalmars.com/d/2.0/rdmd.html\n\nRDMD@github: https://github.com/D-Programming-Language/tools\n\nHTOD: http://www.digitalmars.com/d/2.0/htod.html\n\nDDBG D Debugger: http://ddbg.mainia.de/doc.html\n\nUncrustify - Code Beautifier: http://sourceforge.net/projects/uncrustify/develop\n\nUniversalIndentGUI - GUI Frontend for Code Beautifiers:\n\nhttp://universalindent.sourceforge.net/\n\nUsing Resources in D Tutorial: http://prowiki.org/wiki4d/wiki.cgi?D__Tutorial/WindowsResources\n\nUnicode Character Viewer: http://rishida.net/scripts/uniview/\n\nEnvironment Variables: http://www.computerhope.com/issues/ch000549.htm\n\nEnvironment Editor: http://www.rapidee.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fdwinprogramming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebfreak001%2Fdwinprogramming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fdwinprogramming/lists"}