-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e7c336f
Showing
93 changed files
with
8,155 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.vs |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2021 KNSoft | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
COPY /Y "%~dp0Source\Win32\Release\AlleyWind.exe" "%~dp0Release\AlleyWind_x86.exe" | ||
COPY /Y "%~dp0Source\x64\Release\AlleyWind.exe" "%~dp0Release\AlleyWind_x64.exe" | ||
PAUSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# AlleyWind | ||
AlleyWind is an advanced Win32-based and open-sourced utility that helps you to manage system's windows. AlleyWind could: | ||
+ Displays a graphical tree of relationships among windows, and search what you want | ||
+ Shows the properties of selected window(s), and some of them could be modified: | ||
+ Text, Style, Extended Style and Class Style | ||
+ Visibility, Availability, and Topmost property | ||
+ Hot Key, Visual Style, Display Affinity and Layered properties | ||
+ Obtains private properties (e.g., address of window or dialog callback procedure) by using code injection technology | ||
+ Supports multiple languages, multiple monitors and High-DPI | ||
|
||
## Homepage | ||
\>\>\> Click our homepage [KNSoft.org](https://knsoft.org) for more information! <<< | ||
|
||
## Latest Version | ||
AlleyWind V1.0.0.0 Alpha | ||
|
||
<font color=red>*This is Alpha version for early testing only, which is not stable! SHOULD NOT BE USED IN IMPORTANT ENVIRONMENT!</font> | ||
|
||
## Snapshots | ||
![avatar](Asset/Screenshots/1.png) | ||
![avatar](Asset/Screenshots/2.png) | ||
![avatar](Asset/Screenshots/3.png) |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[General] | ||
ResponseTimeout=200 | ||
EnableRemoteHijack=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.vs | ||
/Win32 | ||
/x64 | ||
/AlleyWind/Win32 | ||
/AlleyWind/x64 | ||
*.vcxproj.user | ||
*.aps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 16 | ||
VisualStudioVersion = 16.0.30523.141 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AlleyWind", "AlleyWind\AlleyWind.vcxproj", "{975A445D-9333-401B-868E-6283C7B464D0}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|x64 = Debug|x64 | ||
Debug|x86 = Debug|x86 | ||
Release|x64 = Release|x64 | ||
Release|x86 = Release|x86 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Debug|x64.ActiveCfg = Debug|x64 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Debug|x64.Build.0 = Debug|x64 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Debug|x86.ActiveCfg = Debug|Win32 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Debug|x86.Build.0 = Debug|Win32 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Release|x64.ActiveCfg = Release|x64 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Release|x64.Build.0 = Release|x64 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Release|x86.ActiveCfg = Release|Win32 | ||
{975A445D-9333-401B-868E-6283C7B464D0}.Release|x86.Build.0 = Release|Win32 | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {A99F203C-9E1A-48B1-8E41-1A7CD706B424} | ||
EndGlobalSection | ||
EndGlobal |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#pragma once | ||
|
||
#include "NTAssassin.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
#pragma once | ||
|
||
#include "NTAssassin.h" | ||
|
||
typedef struct _CTL_MENUW CTL_MENUW, * PCTL_MENUW; | ||
|
||
struct _CTL_MENUW { | ||
UINT uFlags; | ||
UINT_PTR uID; | ||
union { | ||
UINT_PTR I18NIndex; | ||
LPARAM lParam; // MF_OWNERDRAW | ||
HBITMAP hBmp; // MF_BITMAP | ||
LPCWSTR lpszText; // MF_STRING | ||
}; | ||
PCTL_MENUW lpSubMenu; | ||
UINT SubMenuCount; | ||
HMENU Handle; | ||
}; | ||
|
||
#ifdef UNICODE | ||
#define CTL_MENU CTL_MENUW | ||
#define PCTL_MENU PCTL_MENUW | ||
#else | ||
#define CTL_MENU CTL_MENUA | ||
#define PCTL_MENU PCTL_MENUA | ||
#endif | ||
|
||
typedef struct _CTL_PROPSHEETPAGEW CTL_PROPSHEETPAGEW, * PCTL_PROPSHEETPAGEW; | ||
struct _CTL_PROPSHEETPAGEW { | ||
union { | ||
UINT_PTR I18NIndex; | ||
LPCWSTR Title; | ||
}; | ||
HINSTANCE Instance; | ||
UINT DlgResID; | ||
DLGPROC DlgProc; | ||
}; | ||
|
||
#ifdef UNICODE | ||
#define CTL_PROPSHEETPAGE CTL_PROPSHEETPAGEW | ||
#define PCTL_PROPSHEETPAGE PCTL_PROPSHEETPAGEW | ||
#else | ||
#define CTL_PROPSHEETPAGE CTL_PROPSHEETPAGEA | ||
#define PCTL_PROPSHEETPAGE PCTL_PROPSHEETPAGEA | ||
#endif | ||
|
||
typedef struct _CTL_LISTCTL_COLUMEW { | ||
union { | ||
UINT_PTR I18NIndex; | ||
LPCWSTR Title; | ||
}; | ||
INT Width; | ||
} CTL_LISTCTL_COLUMEW, * PCTL_LISTCTL_COLUMEW; | ||
|
||
#ifdef UNICODE | ||
#define CTL_LISTCTL_COLUME CTL_LISTCTL_COLUMEW | ||
#define PCTL_LISTCTL_COLUME PCTL_LISTCTL_COLUMEW | ||
#else | ||
#define CTL_LISTCTL_COLUME CTL_LISTCTL_COLUMEA | ||
#define PCTL_LISTCTL_COLUME PCTL_LISTCTL_COLUMEA | ||
#endif | ||
|
||
typedef struct _CTL_COMBOBOXCTL_ITEMW { | ||
union { | ||
UINT_PTR I18NIndex; | ||
LPCWSTR String; | ||
}; | ||
LPARAM Param; | ||
} CTL_COMBOBOXCTL_ITEMW, * PCTL_COMBOBOXCTL_ITEMW; | ||
|
||
#ifdef UNICODE | ||
#define CTL_COMBOBOXCTL_ITEM CTL_COMBOBOXCTL_ITEMW | ||
#define PCTL_COMBOBOXCTL_ITEM PCTL_COMBOBOXCTL_ITEMW | ||
#else | ||
#define CTL_COMBOBOXCTL_ITEM CTL_COMBOBOXCTL_ITEMA | ||
#define PCTL_COMBOBOXCTL_ITEM PCTL_COMBOBOXCTL_ITEMA | ||
#endif | ||
|
||
/** | ||
* @brief Creates window menu | ||
* @param[in] stMenus Pointer to an UI_MENU structures array, contains information about submenus to be created | ||
* @param[in] uCount Number of UI_MENU structures in stMenus parameter point to | ||
* @param[in] hParent Handle to parent menu, or NULL if create a top-level menu | ||
* @return Returns handle to the new menu | ||
*/ | ||
NTA_API HMENU NTAPI Ctl_CreateMenuExW(CTL_MENUW stMenus[], UINT uCount, HMENU hParent); | ||
#define Ctl_CreateMenuW(stMenus, hParent) Ctl_CreateMenuExW(stMenus, ARRAYSIZE(stMenus), hParent) | ||
#ifdef UNICODE | ||
#define Ctl_CreateMenuEx Ctl_CreateMenuExW | ||
#define Ctl_CreateMenu Ctl_CreateMenuW | ||
#else | ||
#define Ctl_CreateMenuEx Ctl_CreateMenuExA | ||
#define Ctl_CreateMenu Ctl_CreateMenuA | ||
#endif | ||
|
||
/** | ||
* @brief Creates a menu and append to specified window | ||
* @see "Ctl_CreateMenuEx" and "SetMenu" | ||
*/ | ||
#define Ctl_SetMenuExW(hWnd, stMenus, uCount) SetMenu(hWnd, Ctl_CreateMenuExW(stDlgMenu, uCount, NULL)); | ||
#define Ctl_SetMenuW(hWnd, stMenus) SetMenu(hWnd, Ctl_CreateMenuExW(stDlgMenu, ARRAYSIZE(stMenus), NULL)); | ||
#ifdef UNICODE | ||
#define Ctl_SetMenuEx Ctl_SetMenuExW | ||
#define Ctl_SetMenu Ctl_SetMenuW | ||
#else | ||
#define Ctl_SetMenuEx Ctl_SetMenuExA | ||
#define Ctl_SetMenu Ctl_SetMenuA | ||
#endif | ||
|
||
/** | ||
* @brief Popups the menu | ||
* @see "TrackPopupMenu" | ||
*/ | ||
#define Ctl_PopupMenu(hMenu, x, y, hOwner) TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON, x, y, 0, hOwner, NULL) | ||
|
||
/** | ||
* @brief Destroies the menu created by "Ctl_CreateMenuEx" | ||
*/ | ||
NTA_API VOID NTAPI Ctl_DestroyMenuEx(PCTL_MENUW lpstMenus, UINT uCount, HMENU hMenu); | ||
#define Ctl_DestroyMenu(lpstMenus, hMenu) Ctl_DestroyMenuEx(lpstMenus, ARRAYSIZE(lpstMenus), hMenu) | ||
|
||
/** | ||
* @brief Initializes tab control with property sheet feature powered | ||
* @param[in] hDlg Handle to the dialog contains the tab control | ||
* @param[in] uTabCtlID Control ID of tab control | ||
* @param[in] uSheetCount Number of UI_PROPSHEETPAGE structures in Sheets parameter point to | ||
* @param[in] Sheets Pointer to an UI_PROPSHEETPAGE structures array, contains information about property sheet of tabs | ||
* @param[in] lParam User defined parameter, will be passed to each DlgProc in UI_PROPSHEETPAGE structure by WM_INITDIALOG message | ||
*/ | ||
NTA_API VOID NTAPI Ctl_SetPropertySheetW(HWND hDlg, UINT uTabCtlID, UINT uSheetCount, CTL_PROPSHEETPAGEW Sheets[], LPARAM lParam); | ||
#ifdef UNICODE | ||
#define Ctl_SetPropertySheet Ctl_SetPropertySheetW | ||
#else | ||
#define Ctl_SetPropertySheet Ctl_SetPropertySheetA | ||
#endif | ||
|
||
/** | ||
* @brief Initializes List-View control by specified columes | ||
* @param[in] hList Handle to the List-View control | ||
* @param[in] uCols Number of UI_LISTCTL_COLUME structures specified in Cols parameter | ||
* @param[in] Cols Pointer to an UI_LISTCTL_COLUME structures array, contains information about columes | ||
* @param[in] lExStyle Extended styles set to the List-View control | ||
*/ | ||
NTA_API VOID NTAPI Ctl_InitListCtlExW(HWND hList, UINT uCols, CTL_LISTCTL_COLUMEW Cols[], LONG_PTR lExStyle); | ||
#ifdef UNICODE | ||
#define Ctl_InitListCtlEx Ctl_InitListCtlExW | ||
#else | ||
#define Ctl_InitListCtlEx Ctl_InitListCtlExA | ||
#endif | ||
|
||
#define Ctl_InitListCtlW(hList, Cols, lExStyle) Ctl_InitListCtlExW(hList, ARRAYSIZE(Cols), Cols, lExStyle) | ||
#define Ctl_InitListCtlA(hList, Cols, lExStyle) Ctl_InitListCtlExA(hList, ARRAYSIZE(Cols), Cols, lExStyle) | ||
#ifdef UNICODE | ||
#define Ctl_InitListCtl Ctl_InitListCtlW | ||
#else | ||
#define Ctl_InitListCtl Ctl_InitListCtlA | ||
#endif | ||
|
||
NTA_API VOID NTAPI Ctl_InitComboBoxExW(HWND hComboBox, PCTL_COMBOBOXCTL_ITEMW lpstItems, UINT uItems, BOOL bSetParam); | ||
#ifdef UNICODE | ||
#define Ctl_InitComboBoxEx Ctl_InitComboBoxExW | ||
#else | ||
#define Ctl_InitComboBoxEx Ctl_InitComboBoxExA | ||
#endif | ||
|
||
#define Ctl_InitComboBoxW(hComboBox, lpstItems, bSetParam) Ctl_InitComboBoxExW(hComboBox, lpstItems, ARRAYSIZE(lpstItems), bSetParam) | ||
#define Ctl_InitComboBoxA(hComboBox, lpstItems, bSetParam) Ctl_InitComboBoxExA(hComboBox, lpstItems, ARRAYSIZE(lpstItems), bSetParam) | ||
#ifdef UNICODE | ||
#define Ctl_InitComboBox Ctl_InitComboBoxW | ||
#else | ||
#define Ctl_InitComboBox Ctl_InitComboBoxA | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#pragma once | ||
|
||
#include "NTAssassin.h" | ||
|
||
|
||
NTA_API PVOID WINAPIV Data_StructCombineEx(UINT uGroupCount, UINT uSize, ...); | ||
|
||
/** | ||
* @brief Combines groups of structures into a new allocated buffer | ||
* @param[in] uGroupCount Number of groups | ||
* @param[in] t Type of structure | ||
* @param[in] ... lpst1, uCount1, lpst2, uCount2, ... | ||
* @return Returns new allocated buffer, should be freed by calling "Mem_HeapFree" | ||
* @see "Data_StructCombineEx" | ||
*/ | ||
#define Data_StructCombine(uGroupCount, t, ...) (t*)Data_StructCombineEx(uGroupCount, sizeof(t), __VA_ARGS__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#pragma once | ||
|
||
#include "NTAssassin.h" | ||
|
||
#if _DEBUG | ||
|
||
#include <stdio.h> | ||
|
||
#define Dbg_PrintA printf | ||
#define Dbg_PrintW wprintf | ||
#ifdef UNICODE | ||
#define Dbg_Print Dbg_PrintW | ||
#else | ||
#define Dbg_Print Dbg_PrintA | ||
#endif | ||
|
||
#else | ||
|
||
#endif |
Oops, something went wrong.