mwinapi-commits Mailing List for Managed Windows API
Status: Beta
Brought to you by:
schierlm
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
(2) |
Apr
(5) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(2) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2010 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
(10) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
|
2015 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
2016 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sch...@us...> - 2024-07-27 11:28:03
|
Revision: 150 http://sourceforge.net/p/mwinapi/code/150 Author: schierlm Date: 2024-07-27 11:28:01 +0000 (Sat, 27 Jul 2024) Log Message: ----------- Separate project files for vs 2022 as well Modified Paths: -------------- trunk/ManagedWinapi/ManagedWinapi.csproj trunk/ManagedWinapi-2022.sln Added Paths: ----------- trunk/ManagedWinapi/ManagedWinapi-2022.csproj Copied: trunk/ManagedWinapi/ManagedWinapi-2022.csproj (from rev 149, trunk/ManagedWinapi/ManagedWinapi.csproj) =================================================================== --- trunk/ManagedWinapi/ManagedWinapi-2022.csproj (rev 0) +++ trunk/ManagedWinapi/ManagedWinapi-2022.csproj 2024-07-27 11:28:01 UTC (rev 150) @@ -0,0 +1,160 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>9.0.30729</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>ManagedWinapi</RootNamespace> + <AssemblyName>ManagedWinapi</AssemblyName> + <StartupObject> + </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + <OldToolsVersion>3.5</OldToolsVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\Debug\ManagedWinapi.XML</DocumentationFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseUnsigned|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\Release\ManagedWinapi.XML</DocumentationFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseSigned|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\ReleaseSigned\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\ReleaseSigned\ManagedWinapi.XML</DocumentationFile> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>ManagedWinapiKey.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <ItemGroup> + <Reference Include="Accessibility" /> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Management" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Accessibility\AccessibleObjectListener.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="BitmapDataHandler.cs" /> + <Compile Include="COMTypeInformation.cs" /> + <Compile Include="Windows\Contents\AccessibleWindowParser.cs" /> + <Compile Include="ExtendedFileInfo.cs" /> + <Compile Include="CodepointRange.cs" /> + <Compile Include="Hooks\Hook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="InputBlocker.cs" /> + <Compile Include="Hooks\JournalHook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="KeyboardKey.cs" /> + <Compile Include="Hooks\LowLevelHook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="MachineIdentifiers.cs" /> + <Compile Include="PixelData.cs" /> + <Compile Include="ProcessMemoryChunk.cs" /> + <Compile Include="ProcessTree.cs" /> + <Compile Include="Windows\Screenshot.cs" /> + <Compile Include="ShortcutBox.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="ShortcutBox.Designer.cs"> + <DependentUpon>ShortcutBox.cs</DependentUpon> + </Compile> + <Compile Include="PrivilegedActions.cs" /> + <Compile Include="Accessibility\SystemAccessibleObject.cs" /> + <Compile Include="ApiHelper.cs" /> + <Compile Include="ClipboardNotifier.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Contents\ContentParserRegistry.cs" /> + <Compile Include="Windows\Contents\ListParser.cs" /> + <Compile Include="Windows\Contents\TextFieldParser.cs" /> + <Compile Include="Windows\Contents\WindowContent.cs" /> + <Compile Include="Windows\Contents\WindowContentParser.cs" /> + <Compile Include="Crosshair.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="Crosshair.Designer.cs"> + <DependentUpon>Crosshair.cs</DependentUpon> + </Compile> + <Compile Include="Audio\Mixer\Mixer.cs" /> + <Compile Include="Audio\Mixer\MixerControl.cs" /> + <Compile Include="Audio\Mixer\MixerLine.cs" /> + <Compile Include="Windows\PInvokeTypes.cs" /> + <Compile Include="SendKeysEscaper.cs" /> + <Compile Include="Windows\EventDispatchingNativeWindow.cs" /> + <Compile Include="Hotkey.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="LockKeyResetter.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Windows\SystemListBox.cs" /> + <Compile Include="Windows\SystemListView.cs" /> + <Compile Include="Windows\SystemTreeView.cs" /> + <Compile Include="Windows\SystemWindow.cs" /> + <Compile Include="TextCursor.cs" /> + <Compile Include="TextCursorProvider.cs"> + <SubType>Component</SubType> + </Compile> + <Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Crosshair.resx"> + <SubType>Designer</SubType> + <DependentUpon>Crosshair.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="crosshair.ico" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="crosshair.cur" /> + <EmbeddedResource Include="ShortcutBox.resx"> + <SubType>Designer</SubType> + <DependentUpon>ShortcutBox.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Content Include="ManagedWinapiNativeHelper.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + <ItemGroup> + <None Include="ManagedWinapiKey.snk" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file Modified: trunk/ManagedWinapi/ManagedWinapi.csproj =================================================================== --- trunk/ManagedWinapi/ManagedWinapi.csproj 2024-07-27 11:27:48 UTC (rev 149) +++ trunk/ManagedWinapi/ManagedWinapi.csproj 2024-07-27 11:28:01 UTC (rev 150) @@ -1,4 +1,4 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -11,11 +11,6 @@ <AssemblyName>ManagedWinapi</AssemblyName> <StartupObject> </StartupObject> - <FileUpgradeFlags> - </FileUpgradeFlags> - <UpgradeBackupLocation> - </UpgradeBackupLocation> - <OldToolsVersion>3.5</OldToolsVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> Modified: trunk/ManagedWinapi-2022.sln =================================================================== --- trunk/ManagedWinapi-2022.sln 2024-07-27 11:27:48 UTC (rev 149) +++ trunk/ManagedWinapi-2022.sln 2024-07-27 11:28:01 UTC (rev 150) @@ -3,7 +3,7 @@ # Visual Studio Version 17 VisualStudioVersion = 17.10.35013.160 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedWinapi", "ManagedWinapi\ManagedWinapi.csproj", "{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedWinapi", "ManagedWinapi\ManagedWinapi-2022.csproj", "{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2024-07-27 11:27:58
|
Revision: 149 http://sourceforge.net/p/mwinapi/code/149 Author: schierlm Date: 2024-07-27 11:27:48 +0000 (Sat, 27 Jul 2024) Log Message: ----------- migrate to vs 2022 % pushed from GitHub % Author: liziyu0714 <liziyu0714 at outlook.com> % Date: Sat Jul 27 09:41:40 2024 +0800 Modified Paths: -------------- trunk/ManagedWinapi/ManagedWinapi.csproj Added Paths: ----------- trunk/ManagedWinapi-2022.sln Modified: trunk/ManagedWinapi/ManagedWinapi.csproj =================================================================== --- trunk/ManagedWinapi/ManagedWinapi.csproj 2024-07-27 11:27:39 UTC (rev 148) +++ trunk/ManagedWinapi/ManagedWinapi.csproj 2024-07-27 11:27:48 UTC (rev 149) @@ -1,4 +1,4 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -11,6 +11,11 @@ <AssemblyName>ManagedWinapi</AssemblyName> <StartupObject> </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + <OldToolsVersion>3.5</OldToolsVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> Added: trunk/ManagedWinapi-2022.sln =================================================================== --- trunk/ManagedWinapi-2022.sln (rev 0) +++ trunk/ManagedWinapi-2022.sln 2024-07-27 11:27:48 UTC (rev 149) @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.35013.160 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedWinapi", "ManagedWinapi\ManagedWinapi.csproj", "{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + ReleaseSigned|Any CPU = ReleaseSigned|Any CPU + ReleaseUnsigned|Any CPU = ReleaseUnsigned|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseSigned|Any CPU.ActiveCfg = ReleaseSigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseSigned|Any CPU.Build.0 = ReleaseSigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseUnsigned|Any CPU.ActiveCfg = ReleaseUnsigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseUnsigned|Any CPU.Build.0 = ReleaseUnsigned|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CAD3606B-C404-4026-B747-6FEDF2B7A29A} + EndGlobalSection +EndGlobal This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2024-07-27 11:27:40
|
Revision: 148 http://sourceforge.net/p/mwinapi/code/148 Author: schierlm Date: 2024-07-27 11:27:39 +0000 (Sat, 27 Jul 2024) Log Message: ----------- Try to fix workflow - Upgrade the `setup-msbuild` action version - Upgrade the target framework to 4.8.1 Modified Paths: -------------- trunk/.github/workflows/ManagedWinapi-2010.yml Added Paths: ----------- trunk/ManagedWinapi/ManagedWinapi-2010-4.8.1.csproj trunk/ManagedWinapi-2010-4.8.1.sln Modified: trunk/.github/workflows/ManagedWinapi-2010.yml =================================================================== --- trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-27 11:02:28 UTC (rev 147) +++ trunk/.github/workflows/ManagedWinapi-2010.yml 2024-07-27 11:27:39 UTC (rev 148) @@ -18,19 +18,16 @@ # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: setup-msbuild - uses: microsoft/setup-msbuild@v1.0.1 - - #- name: Setup NuGet.exe for use with actions - # uses: NuGet/setup-nuget@v1.0.2 - + uses: microsoft/setup-msbuild@v2 + - name: Build the solution (Debug) - run: msbuild ManagedWinapi-2010.sln /property:Configuration=Debug + run: msbuild ManagedWinapi-2010-4.8.1.sln /property:Configuration=Debug - name: Build the solution (ReleaseSigned) - run: msbuild ManagedWinapi-2010.sln /property:Configuration=ReleaseSigned + run: msbuild ManagedWinapi-2010-4.8.1.sln /property:Configuration=ReleaseSigned - name: Upload artifact bin_Debug uses: actions/upload-artifact@v2 Added: trunk/ManagedWinapi/ManagedWinapi-2010-4.8.1.csproj =================================================================== --- trunk/ManagedWinapi/ManagedWinapi-2010-4.8.1.csproj (rev 0) +++ trunk/ManagedWinapi/ManagedWinapi-2010-4.8.1.csproj 2024-07-27 11:27:39 UTC (rev 148) @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>9.0.30729</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>ManagedWinapi</RootNamespace> + <AssemblyName>ManagedWinapi</AssemblyName> + <TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion> + <TargetFrameworkProfile> + </TargetFrameworkProfile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\Debug\ManagedWinapi.XML</DocumentationFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseUnsigned|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\Release\ManagedWinapi.XML</DocumentationFile> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseSigned|AnyCPU'"> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\ReleaseSigned\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <DocumentationFile>bin\ReleaseSigned\ManagedWinapi.XML</DocumentationFile> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>ManagedWinapiKey.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <ItemGroup> + <Reference Include="Accessibility" /> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Management" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Accessibility\AccessibleObjectListener.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="BitmapDataHandler.cs" /> + <Compile Include="COMTypeInformation.cs" /> + <Compile Include="Windows\Contents\AccessibleWindowParser.cs" /> + <Compile Include="ExtendedFileInfo.cs" /> + <Compile Include="CodepointRange.cs" /> + <Compile Include="Hooks\Hook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="InputBlocker.cs" /> + <Compile Include="Hooks\JournalHook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="KeyboardKey.cs" /> + <Compile Include="Hooks\LowLevelHook.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="MachineIdentifiers.cs" /> + <Compile Include="PixelData.cs" /> + <Compile Include="ProcessMemoryChunk.cs" /> + <Compile Include="ProcessTree.cs" /> + <Compile Include="Windows\Screenshot.cs" /> + <Compile Include="ShortcutBox.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="ShortcutBox.Designer.cs"> + <DependentUpon>ShortcutBox.cs</DependentUpon> + </Compile> + <Compile Include="PrivilegedActions.cs" /> + <Compile Include="Accessibility\SystemAccessibleObject.cs" /> + <Compile Include="ApiHelper.cs" /> + <Compile Include="ClipboardNotifier.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Contents\ContentParserRegistry.cs" /> + <Compile Include="Windows\Contents\ListParser.cs" /> + <Compile Include="Windows\Contents\TextFieldParser.cs" /> + <Compile Include="Windows\Contents\WindowContent.cs" /> + <Compile Include="Windows\Contents\WindowContentParser.cs" /> + <Compile Include="Crosshair.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="Crosshair.Designer.cs"> + <DependentUpon>Crosshair.cs</DependentUpon> + </Compile> + <Compile Include="Audio\Mixer\Mixer.cs" /> + <Compile Include="Audio\Mixer\MixerControl.cs" /> + <Compile Include="Audio\Mixer\MixerLine.cs" /> + <Compile Include="Windows\PInvokeTypes.cs" /> + <Compile Include="SendKeysEscaper.cs" /> + <Compile Include="Windows\EventDispatchingNativeWindow.cs" /> + <Compile Include="Hotkey.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="LockKeyResetter.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Windows\SystemListBox.cs" /> + <Compile Include="Windows\SystemListView.cs" /> + <Compile Include="Windows\SystemTreeView.cs" /> + <Compile Include="Windows\SystemWindow.cs" /> + <Compile Include="TextCursor.cs" /> + <Compile Include="TextCursorProvider.cs"> + <SubType>Component</SubType> + </Compile> + <Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Crosshair.resx"> + <SubType>Designer</SubType> + <DependentUpon>Crosshair.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="crosshair.ico" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="crosshair.cur" /> + <EmbeddedResource Include="ShortcutBox.resx"> + <SubType>Designer</SubType> + <DependentUpon>ShortcutBox.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Content Include="ManagedWinapiNativeHelper.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + <ItemGroup> + <None Include="ManagedWinapiKey.snk" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file Added: trunk/ManagedWinapi-2010-4.8.1.sln =================================================================== --- trunk/ManagedWinapi-2010-4.8.1.sln (rev 0) +++ trunk/ManagedWinapi-2010-4.8.1.sln 2024-07-27 11:27:39 UTC (rev 148) @@ -0,0 +1,23 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedWinapi-2010", "ManagedWinapi\ManagedWinapi-2010-4.8.1.csproj", "{FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + ReleaseSigned|Any CPU = ReleaseSigned|Any CPU + ReleaseUnsigned|Any CPU = ReleaseUnsigned|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseSigned|Any CPU.ActiveCfg = ReleaseSigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseSigned|Any CPU.Build.0 = ReleaseSigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseUnsigned|Any CPU.ActiveCfg = ReleaseUnsigned|Any CPU + {FBD3EC1E-47E2-4D2D-81C9-D6506125A09A}.ReleaseUnsigned|Any CPU.Build.0 = ReleaseUnsigned|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2020-09-27 11:02:32
|
Revision: 147 http://sourceforge.net/p/mwinapi/code/147 Author: schierlm Date: 2020-09-27 11:02:28 +0000 (Sun, 27 Sep 2020) Log Message: ----------- use relative paths for build artifacts % pushed from GitHub % Author: donid <do...@us...> % Date: Sun Sep 27 11:18:08 2020 +0200 Modified Paths: -------------- trunk/.github/workflows/ManagedWinapi-2010.yml Modified: trunk/.github/workflows/ManagedWinapi-2010.yml =================================================================== --- trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-26 21:31:15 UTC (rev 146) +++ trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-27 11:02:28 UTC (rev 147) @@ -36,10 +36,10 @@ uses: actions/upload-artifact@v2 with: name: bin_Debug - path: D:\a\mwinapi\mwinapi\ManagedWinapi\bin\Debug\ + path: ManagedWinapi\bin\Debug\ - name: Upload artifact bin_ReleaseSigned uses: actions/upload-artifact@v2 with: name: bin_ReleaseSigned - path: D:\a\mwinapi\mwinapi\ManagedWinapi\bin\ReleaseSigned\ + path: ManagedWinapi\bin\ReleaseSigned\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2020-09-26 21:31:18
|
Revision: 146 http://sourceforge.net/p/mwinapi/code/146 Author: schierlm Date: 2020-09-26 21:31:15 +0000 (Sat, 26 Sep 2020) Log Message: ----------- Several changes to GitHub Actions workflow - run Github Actions workflow on all branches - Build both Debug and ReleaseSigned configurations - Add artifacts - Get rid of appveyor.yml - Update badge link Modified Paths: -------------- trunk/.github/workflows/ManagedWinapi-2010.yml trunk/README.md Removed Paths: ------------- trunk/appveyor.yml Modified: trunk/.github/workflows/ManagedWinapi-2010.yml =================================================================== --- trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-26 21:30:55 UTC (rev 145) +++ trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-26 21:31:15 UTC (rev 146) @@ -1,14 +1,12 @@ # This is a basic workflow to help you get started with Actions -name: CI +name: Automated Build # Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch +# events on: push: - branches: [ master ] pull_request: - branches: [ master ] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -15,7 +13,7 @@ # This workflow contains a single job called "build" build: # The type of runner that the job will run on - runs-on: [windows-latest] + runs-on: windows-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -28,5 +26,20 @@ #- name: Setup NuGet.exe for use with actions # uses: NuGet/setup-nuget@v1.0.2 - - name: Build the solution - run: msbuild ManagedWinapi-2010.sln + - name: Build the solution (Debug) + run: msbuild ManagedWinapi-2010.sln /property:Configuration=Debug + + - name: Build the solution (ReleaseSigned) + run: msbuild ManagedWinapi-2010.sln /property:Configuration=ReleaseSigned + + - name: Upload artifact bin_Debug + uses: actions/upload-artifact@v2 + with: + name: bin_Debug + path: D:\a\mwinapi\mwinapi\ManagedWinapi\bin\Debug\ + + - name: Upload artifact bin_ReleaseSigned + uses: actions/upload-artifact@v2 + with: + name: bin_ReleaseSigned + path: D:\a\mwinapi\mwinapi\ManagedWinapi\bin\ReleaseSigned\ Modified: trunk/README.md =================================================================== --- trunk/README.md 2020-09-26 21:30:55 UTC (rev 145) +++ trunk/README.md 2020-09-26 21:31:15 UTC (rev 146) @@ -5,6 +5,6 @@ Mirrored Github Repo: https://github.com/mwinapi/mwinapi -![CI](https://github.com/donid/mwinapi/workflows/CI/badge.svg) +![Automated Build](https://github.com/mwinapi/mwinapi/workflows/Automated%20Build/badge.svg) Pull Requests on GitHub are welcome, I will try to keep the repos on GitHub and SourceForge in sync. Deleted: trunk/appveyor.yml =================================================================== --- trunk/appveyor.yml 2020-09-26 21:30:55 UTC (rev 145) +++ trunk/appveyor.yml 2020-09-26 21:31:15 UTC (rev 146) @@ -1,12 +0,0 @@ -version: 0.3.0.{build} -configuration: -- Debug -- ReleaseSigned -build: - project: ManagedWinapi-2010.sln - verbosity: normal -artifacts: -- path: ManagedWinapi\bin\Debug\ - name: bin_Debug -- path: ManagedWinapi\bin\ReleaseSigned\ - name: bin_ReleaseSigned \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2020-09-26 21:31:01
|
Revision: 145 http://sourceforge.net/p/mwinapi/code/145 Author: schierlm Date: 2020-09-26 21:30:55 +0000 (Sat, 26 Sep 2020) Log Message: ----------- Create ManagedWinapi-2010.yml and update CI badge % pushed from GitHub % Author: donid <do...@us...> % Date: Sat Sep 26 21:25:57 2020 +0200 Modified Paths: -------------- trunk/README.md Added Paths: ----------- trunk/.github/ trunk/.github/workflows/ trunk/.github/workflows/ManagedWinapi-2010.yml Added: trunk/.github/workflows/ManagedWinapi-2010.yml =================================================================== --- trunk/.github/workflows/ManagedWinapi-2010.yml (rev 0) +++ trunk/.github/workflows/ManagedWinapi-2010.yml 2020-09-26 21:30:55 UTC (rev 145) @@ -0,0 +1,32 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: [windows-latest] + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + - name: setup-msbuild + uses: microsoft/setup-msbuild@v1.0.1 + + #- name: Setup NuGet.exe for use with actions + # uses: NuGet/setup-nuget@v1.0.2 + + - name: Build the solution + run: msbuild ManagedWinapi-2010.sln Modified: trunk/README.md =================================================================== --- trunk/README.md 2017-12-12 11:41:40 UTC (rev 144) +++ trunk/README.md 2020-09-26 21:30:55 UTC (rev 145) @@ -5,6 +5,6 @@ Mirrored Github Repo: https://github.com/mwinapi/mwinapi -AppVeyor CI: ![Build Status](https://ci.appveyor.com/api/projects/status/github/mwinapi/mwinapi) +![CI](https://github.com/donid/mwinapi/workflows/CI/badge.svg) Pull Requests on GitHub are welcome, I will try to keep the repos on GitHub and SourceForge in sync. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2017-12-12 11:41:42
|
Revision: 144 http://sourceforge.net/p/mwinapi/code/144 Author: ziewer Date: 2017-12-12 11:41:40 +0000 (Tue, 12 Dec 2017) Log Message: ----------- Error handling: Catch exception inside ClassName Modified Paths: -------------- trunk/ManagedWinapi/Windows/SystemWindow.cs Modified: trunk/ManagedWinapi/Windows/SystemWindow.cs =================================================================== --- trunk/ManagedWinapi/Windows/SystemWindow.cs 2017-12-12 11:38:03 UTC (rev 143) +++ trunk/ManagedWinapi/Windows/SystemWindow.cs 2017-12-12 11:41:40 UTC (rev 144) @@ -543,17 +543,21 @@ { get { - int length = 64; - while (true) + try { - StringBuilder sb = new StringBuilder(length); - ApiHelper.FailIfZero(GetClassName(_hwnd, sb, sb.Capacity)); - if (sb.Length != length - 1) + int length = 64; + while (true) { - return sb.ToString(); + StringBuilder sb = new StringBuilder(length); + ApiHelper.FailIfZero(GetClassName(_hwnd, sb, sb.Capacity)); + if (sb.Length != length - 1) + { + return sb.ToString(); + } + length *= 2; } - length *= 2; } + catch { return null; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2017-12-12 11:38:05
|
Revision: 143 http://sourceforge.net/p/mwinapi/code/143 Author: ziewer Date: 2017-12-12 11:38:03 +0000 (Tue, 12 Dec 2017) Log Message: ----------- Reverted modification in SystemAccessibleObject.Visible (due to incompatibility with Google Chrome) - now 'Visible' only check state INVISIBLE (as it was before rev.142) - new method 'IsState()' can be used to check any state (e.g. OFFSCREEN) e.g. for tabs in Firefox Quantum v.57 - catch NullReferenceException in 'State' (e.g. sometimes caused by IBM Notes) Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2017-11-23 17:34:27 UTC (rev 142) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2017-12-12 11:38:03 UTC (rev 143) @@ -327,6 +327,10 @@ { return 0; } + catch (NullReferenceException) + { + return 0; + } } } @@ -348,12 +352,19 @@ { get { - return (State & (int)AccStates.STATE_SYSTEM_INVISIBLE) == 0 - && (State & (int)AccStates.STATE_SYSTEM_OFFSCREEN) == 0; + return (State & (int)AccStates.STATE_SYSTEM_INVISIBLE) == 0; } } /// <summary> + /// Whether this accessibile state is set. + /// </summary> + public bool IsState(AccStates state) + { + return (State & (int)state) > 0; + } + + /// <summary> /// The parent of this accessible object, or <b>null</b> if none exists. /// </summary> public SystemAccessibleObject Parent This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2017-11-23 17:34:29
|
Revision: 142 http://sourceforge.net/p/mwinapi/code/142 Author: ziewer Date: 2017-11-23 17:34:27 +0000 (Thu, 23 Nov 2017) Log Message: ----------- Fixed SystemAccessibleObject.Visible to report state STATE_SYSTEM_OFFSCREEN also as invisible (e.g. for Firefox Quantum v.57) Added enum AccStates with constants for MSAA accessibility states from oleacc.h/WinUser.h Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-26 19:02:16 UTC (rev 141) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2017-11-23 17:34:27 UTC (rev 142) @@ -348,7 +348,8 @@ { get { - return (State & 0x8000) == 0; + return (State & (int)AccStates.STATE_SYSTEM_INVISIBLE) == 0 + && (State & (int)AccStates.STATE_SYSTEM_OFFSCREEN) == 0; } } @@ -1115,4 +1116,51 @@ /// </summary> ROLE_SYSTEM_WINDOW = 9 } + + /// <summary> + /// This enumeration lists all kinds of accessible states as returned by IAccessible::get_accState() + /// Constants for MSAA accessibility roles from oleacc.h/WinUser.h + /// </summary> + public enum AccStates + { + // From oleacc.h: +#pragma warning disable CS1591 // Fehledes XML-Kommentar f\xFCr \xF6ffentlich sichtbaren Typ oder Element + STATE_SYSTEM_NORMAL = 0x0, + STATE_SYSTEM_HASPOPUP = 0x40000000, + + // From WinUser.h: + STATE_SYSTEM_UNAVAILABLE = 0x1, // Disabled + STATE_SYSTEM_SELECTED = 0x2, + STATE_SYSTEM_FOCUSED = 0x4, + STATE_SYSTEM_PRESSED = 0x8, + STATE_SYSTEM_CHECKED = 0x10, + STATE_SYSTEM_MIXED = 0x20, //3-state checkbox or toolbar button + STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED, + STATE_SYSTEM_READONLY = 0x40, + STATE_SYSTEM_HOTTRACKED = 0x80, + STATE_SYSTEM_DEFAULT = 0x100, + STATE_SYSTEM_EXPANDED = 0x200, + STATE_SYSTEM_COLLAPSED = 0x400, + STATE_SYSTEM_BUSY = 0x800, + STATE_SYSTEM_FLOATING = 0x1000, // Children "owned" not "contained" by parent + STATE_SYSTEM_MARQUEED = 0x2000, + STATE_SYSTEM_ANIMATED = 0x4000, + STATE_SYSTEM_INVISIBLE = 0x8000, + STATE_SYSTEM_OFFSCREEN = 0x10000, + STATE_SYSTEM_SIZEABLE = 0x20000, + STATE_SYSTEM_MOVEABLE = 0x40000, + STATE_SYSTEM_SELFVOICING = 0x80000, + STATE_SYSTEM_FOCUSABLE = 0x100000, + STATE_SYSTEM_SELECTABLE = 0x200000, + STATE_SYSTEM_LINKED = 0x400000, + STATE_SYSTEM_TRAVERSED = 0x800000, + STATE_SYSTEM_MULTISELECTABLE = 0x1000000, // Supports multiple selection + STATE_SYSTEM_EXTSELECTABLE = 0x2000000, // Supports extended selection + STATE_SYSTEM_ALERT_LOW = 0x4000000, // This information is of low priority + STATE_SYSTEM_ALERT_MEDIUM = 0x8000000, // This information is of medium priority + STATE_SYSTEM_ALERT_HIGH = 0x10000000, // This information is of high priority + STATE_SYSTEM_PROTECTED = 0x20000000, // access to this is restricted + STATE_SYSTEM_VALID = 0x3FFFFFFF +#pragma warning restore CS1591 // Fehledes XML-Kommentar f\xFCr \xF6ffentlich sichtbaren Typ oder Element + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2016-01-26 19:02:18
|
Revision: 141 http://sourceforge.net/p/mwinapi/code/141 Author: schierlm Date: 2016-01-26 19:02:16 +0000 (Tue, 26 Jan 2016) Log Message: ----------- Update README.md Modified Paths: -------------- trunk/README.md Modified: trunk/README.md =================================================================== --- trunk/README.md 2016-01-26 10:06:48 UTC (rev 140) +++ trunk/README.md 2016-01-26 19:02:16 UTC (rev 141) @@ -6,3 +6,5 @@ Mirrored Github Repo: https://github.com/mwinapi/mwinapi AppVeyor CI: ![Build Status](https://ci.appveyor.com/api/projects/status/github/mwinapi/mwinapi) + +Pull Requests on GitHub are welcome, I will try to keep the repos on GitHub and SourceForge in sync. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2016-01-26 10:06:51
|
Revision: 140 http://sourceforge.net/p/mwinapi/code/140 Author: ziewer Date: 2016-01-26 10:06:48 +0000 (Tue, 26 Jan 2016) Log Message: ----------- added SystemAccessibleObject.ChildCount (because always calling iacc.accChildCount might be wrong) Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-25 19:56:53 UTC (rev 139) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-26 10:06:48 UTC (rev 140) @@ -566,6 +566,21 @@ } /// <summary> + /// Get number of children. + /// </summary> + public int ChildCount + { + get + { + if (childID != 0) + // ID-referenced objects cannot have children + return 0; + else + return iacc.accChildCount; + } + } + + /// <summary> /// Highlight the accessible object with a red border. /// </summary> public void Highlight() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2016-01-25 19:56:55
|
Revision: 139 http://sourceforge.net/p/mwinapi/code/139 Author: ziewer Date: 2016-01-25 19:56:53 +0000 (Mon, 25 Jan 2016) Log Message: ----------- Added "GetChild(int index)" to request a specific child instead of requesting all children Boosts performance when only a specific child is required but sao has many children (e.g. in Internet Explorer) Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-25 19:53:53 UTC (rev 138) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-25 19:56:53 UTC (rev 139) @@ -538,6 +538,34 @@ } /// <summary> + /// Get specific child of accessible object. + /// </summary> + public SystemAccessibleObject GetChild(int index) + { + // ID-referenced objects cannot have children + if (childID != 0) return null; + + int cs = iacc.accChildCount, csReal; + object[] children = new object[1]; + + uint result = AccessibleChildren(iacc, index, 1, children, out csReal); + if (result != 0 && result != 1) + return null; + if (csReal == 1 && children[0] is int && (int)children[0] < 0) + return null; + List<SystemAccessibleObject> values = new List<SystemAccessibleObject>(); + if (children[0] != null) + { + try + { + return ObjectToSAO(children[0]); + } + catch (InvalidCastException) { } + } + return null; + } + + /// <summary> /// Highlight the accessible object with a red border. /// </summary> public void Highlight() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2016-01-25 19:53:55
|
Revision: 138 http://sourceforge.net/p/mwinapi/code/138 Author: ziewer Date: 2016-01-25 19:53:53 +0000 (Mon, 25 Jan 2016) Log Message: ----------- Fixed array size when requesting Children Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2015-12-11 17:45:31 UTC (rev 137) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2016-01-25 19:53:53 UTC (rev 138) @@ -514,9 +514,9 @@ if (childID != 0) return new SystemAccessibleObject[0]; int cs = iacc.accChildCount, csReal; - object[] children = new object[cs * 2]; + object[] children = new object[cs]; - uint result = AccessibleChildren(iacc, 0, cs * 2, children, out csReal); + uint result = AccessibleChildren(iacc, 0, cs, children, out csReal); if (result != 0 && result != 1) return new SystemAccessibleObject[0]; if (csReal == 1 && children[0] is int && (int)children[0] < 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-11 17:45:34
|
Revision: 137 http://sourceforge.net/p/mwinapi/code/137 Author: schierlm Date: 2015-12-11 17:45:31 +0000 (Fri, 11 Dec 2015) Log Message: ----------- SystemListView: added methods to retrieve and modify the selection % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Fri Dec 11 15:01:16 2015 +0100 Modified Paths: -------------- trunk/ManagedWinapi/Windows/SystemListView.cs Modified: trunk/ManagedWinapi/Windows/SystemListView.cs =================================================================== --- trunk/ManagedWinapi/Windows/SystemListView.cs 2015-12-11 17:45:25 UTC (rev 136) +++ trunk/ManagedWinapi/Windows/SystemListView.cs 2015-12-11 17:45:31 UTC (rev 137) @@ -59,6 +59,17 @@ } /// <summary> + /// The number of selected items (icons) in this list view. + /// </summary> + public int SelectedItemsCount + { + get + { + return sw.SendGetMessage(LVM_GETSELECTEDCOUNT); + } + } + + /// <summary> /// An item of this list view. /// </summary> public SystemListViewItem this[int index] @@ -70,6 +81,69 @@ } /// <summary> + /// Ensures that a list-view item is either entirely or partially visible, scrolling the list-view control if necessary. + /// </summary> + /// <param name="rowIndex">Index of the row.</param> + /// <param name="entirelyVisible">if set to <c>true</c> the item will be entirely visible.</param> + public void EnsureItemIsVisible(int rowIndex, bool entirelyVisible) + { + SystemWindow.SendMessage(new HandleRef(sw, sw.HWnd), LVM_ENSUREVISIBLE, new IntPtr(rowIndex), new IntPtr(entirelyVisible ? 1 : 0)); + } + + /// <summary> + /// Sets the focused-state of the item. + /// </summary> + /// <param name="rowIndex">Index of the row.</param> + /// <param name="focused">if set to <c>true</c> the item will be focused.</param> + public void SetItemFocusedState(int rowIndex, bool focused) + { + LVITEM lvi = new LVITEM(); + lvi.stateMask = (uint)(ListViewItemState.LVIS_FOCUSED); + lvi.state = focused ? (uint)(ListViewItemState.LVIS_FOCUSED) : 0; + ProcessMemoryChunk lc = ProcessMemoryChunk.AllocStruct(sw.Process, lvi); + SystemWindow.SendMessage(new HandleRef(sw, sw.HWnd), LVM_SETITEMSTATE, new IntPtr(rowIndex), lc.Location); + lc.Dispose(); + } + + /// <summary> + /// Sets the selected-state of the item. + /// </summary> + /// <param name="rowIndex">Index of the row.</param> + /// <param name="selected">if set to <c>true</c> the item will be selected.</param> + public void SetItemSelectedState(int rowIndex, bool selected) + { + LVITEM lvi = new LVITEM(); + lvi.stateMask = (uint)(ListViewItemState.LVIS_SELECTED); + lvi.state = selected ? (uint)(ListViewItemState.LVIS_SELECTED) : 0; + ProcessMemoryChunk lc = ProcessMemoryChunk.AllocStruct(sw.Process, lvi); + SystemWindow.SendMessage(new HandleRef(sw, sw.HWnd), LVM_SETITEMSTATE, new IntPtr(rowIndex), lc.Location); + lc.Dispose(); + } + + /// <summary> + /// Clears the current selection by unselecting all selected rows. + /// </summary> + public void ClearSelection() + { + for (int rowIndex = 0; rowIndex < this.Count; rowIndex++) + { + SetItemSelectedState(rowIndex, false); + } + } + + /// <summary> + /// Sets the given row as single-selection and ensures that the row is visible. + /// </summary> + /// <param name="rowIndex">Index of the row ttaht should be highlighted.</param> + public void HighlightRow(int rowIndex) + { + ClearSelection(); + SetItemSelectedState(rowIndex, true); + SetItemFocusedState(rowIndex, true); + EnsureItemIsVisible(rowIndex, false); + } + + /// <summary> /// A subitem (a column value) of an item of this list view. /// </summary> public SystemListViewItem this[int index, int subIndex] @@ -140,7 +214,10 @@ LVM_GETITEMPOSITION = (0x1000 + 16), LVM_GETITEMCOUNT = (0x1000 + 4), LVM_GETITEM = 0x1005, - LVM_GETCOLUMN = (0x1000 + 25); + LVM_ENSUREVISIBLE = (0x1000 + 19), + LVM_GETCOLUMN = (0x1000 + 25), + LVM_SETITEMSTATE = (0x1000 + 43), + LVM_GETSELECTEDCOUNT = (0x1000 + 50); private static readonly uint LVIF_TEXT = 0x1, LVIF_IMAGE = 0x2, @@ -177,6 +254,13 @@ #endregion } + [Flags] + internal enum ListViewItemState + { + LVIS_FOCUSED = 0x0001, + LVIS_SELECTED = 0x0002 + } + /// <summary> /// An item of a list view. /// </summary> @@ -207,6 +291,16 @@ public int Image { get { return image; } } /// <summary> + /// The appearance of a selected item depends on whether it has the focus and also on the system colors used for selection. + /// </summary> + public bool IsSelected { get { return (state & (uint)ListViewItemState.LVIS_SELECTED) != 0; } } + + /// <summary> + /// The item has the focus, so it is surrounded by a standard focus rectangle. Although more than one item may be selected, only one item can have the focus. + /// </summary> + public bool IsFocused { get { return (state & (uint)ListViewItemState.LVIS_FOCUSED) != 0; } } + + /// <summary> /// State bits of this item. /// </summary> [CLSCompliant(false)] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-11 17:45:27
|
Revision: 136 http://sourceforge.net/p/mwinapi/code/136 Author: schierlm Date: 2015-12-11 17:45:25 +0000 (Fri, 11 Dec 2015) Log Message: ----------- added ToString() to SystemWindow -> now the debugger shows the HWND in watch-window % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Fri Dec 11 14:57:00 2015 +0100 Modified Paths: -------------- trunk/ManagedWinapi/Windows/SystemWindow.cs Modified: trunk/ManagedWinapi/Windows/SystemWindow.cs =================================================================== --- trunk/ManagedWinapi/Windows/SystemWindow.cs 2015-12-11 17:45:18 UTC (rev 135) +++ trunk/ManagedWinapi/Windows/SystemWindow.cs 2015-12-11 17:45:25 UTC (rev 136) @@ -347,7 +347,7 @@ public static SystemWindow[] FilterToplevelWindows(Predicate<SystemWindow> predicate) { List<SystemWindow> wnds = new List<SystemWindow>(); - EnumWindows(new EnumWindowsProc(delegate(IntPtr hwnd, IntPtr lParam) + EnumWindows(new EnumWindowsProc(delegate (IntPtr hwnd, IntPtr lParam) { SystemWindow tmp = new SystemWindow(hwnd); if (predicate(tmp)) @@ -470,7 +470,7 @@ public SystemWindow[] FilterDescendantWindows(bool directOnly, Predicate<SystemWindow> predicate) { List<SystemWindow> wnds = new List<SystemWindow>(); - EnumChildWindows(_hwnd, delegate(IntPtr hwnd, IntPtr lParam) + EnumChildWindows(_hwnd, delegate (IntPtr hwnd, IntPtr lParam) { SystemWindow tmp = new SystemWindow(hwnd); bool add = true; @@ -491,6 +491,17 @@ public IntPtr HWnd { get { return _hwnd; } } /// <summary> + /// Returns a <see cref="System.String" /> that represents this instance. + /// </summary> + /// <returns> + /// A <see cref="System.String" /> that represents this instance. + /// </returns> + public override string ToString() + { + return "HWND 0x" + _hwnd.ToString("X"); + } + + /// <summary> /// The title of this window (by the <c>GetWindowText</c> API function). /// </summary> public string Title This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-11 17:45:20
|
Revision: 135 http://sourceforge.net/p/mwinapi/code/135 Author: schierlm Date: 2015-12-11 17:45:18 +0000 (Fri, 11 Dec 2015) Log Message: ----------- Update README.md Add AppVeyor status icon Modified Paths: -------------- trunk/README.md Modified: trunk/README.md =================================================================== --- trunk/README.md 2015-12-11 17:45:12 UTC (rev 134) +++ trunk/README.md 2015-12-11 17:45:18 UTC (rev 135) @@ -4,3 +4,5 @@ Website: http://mwinapi.sourceforge.net/ Mirrored Github Repo: https://github.com/mwinapi/mwinapi + +AppVeyor CI: ![Build Status](https://ci.appveyor.com/api/projects/status/github/mwinapi/mwinapi) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-11 17:45:14
|
Revision: 134 http://sourceforge.net/p/mwinapi/code/134 Author: schierlm Date: 2015-12-11 17:45:12 +0000 (Fri, 11 Dec 2015) Log Message: ----------- AssemblyConfigurationAttribute now contains the build configuration % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Thu Dec 10 10:46:47 2015 +0100 Modified Paths: -------------- trunk/ManagedWinapi/Properties/AssemblyInfo.cs Modified: trunk/ManagedWinapi/Properties/AssemblyInfo.cs =================================================================== --- trunk/ManagedWinapi/Properties/AssemblyInfo.cs 2015-12-11 17:45:04 UTC (rev 133) +++ trunk/ManagedWinapi/Properties/AssemblyInfo.cs 2015-12-11 17:45:12 UTC (rev 134) @@ -8,7 +8,13 @@ // associated with an assembly. [assembly: AssemblyTitle("ManagedWinapi")] [assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] + +#if DEBUG +[assembly: AssemblyConfiguration("Debug")] +#else +[assembly: AssemblyConfiguration("Release")] +#endif + [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ManagedWinapi")] [assembly: AssemblyCopyright("Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2011 Michael Schierl")] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-11 17:45:07
|
Revision: 133 http://sourceforge.net/p/mwinapi/code/133 Author: schierlm Date: 2015-12-11 17:45:04 +0000 (Fri, 11 Dec 2015) Log Message: ----------- added a basic appveyor.yml file % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Wed Dec 9 11:10:37 2015 +0100 Added Paths: ----------- trunk/appveyor.yml Added: trunk/appveyor.yml =================================================================== --- trunk/appveyor.yml (rev 0) +++ trunk/appveyor.yml 2015-12-11 17:45:04 UTC (rev 133) @@ -0,0 +1,12 @@ +version: 0.3.0.{build} +configuration: +- Debug +- ReleaseSigned +build: + project: ManagedWinapi-2010.sln + verbosity: normal +artifacts: +- path: ManagedWinapi\bin\Debug\ + name: bin_Debug +- path: ManagedWinapi\bin\ReleaseSigned\ + name: bin_ReleaseSigned \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-08 22:10:16
|
Revision: 132 http://sourceforge.net/p/mwinapi/code/132 Author: schierlm Date: 2015-12-08 22:10:13 +0000 (Tue, 08 Dec 2015) Log Message: ----------- removed INCONTEXT from AccessibleEventFlags because this mode was not needed and not tested % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Tue Dec 8 11:22:13 2015 +0100 Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs Modified: trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs 2015-12-08 22:10:07 UTC (rev 131) +++ trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs 2015-12-08 22:10:13 UTC (rev 132) @@ -130,12 +130,9 @@ set { if (!( - value == AccessibleEventFlags.INCONTEXT || value == AccessibleEventFlags.OUTOFCONTEXT || value == (AccessibleEventFlags.OUTOFCONTEXT | AccessibleEventFlags.SKIPOWNPROCESS) || - value == (AccessibleEventFlags.OUTOFCONTEXT | AccessibleEventFlags.SKIPOWNTHREAD) || - value == (AccessibleEventFlags.INCONTEXT | AccessibleEventFlags.SKIPOWNPROCESS) || - value == (AccessibleEventFlags.INCONTEXT | AccessibleEventFlags.SKIPOWNTHREAD) + value == (AccessibleEventFlags.OUTOFCONTEXT | AccessibleEventFlags.SKIPOWNTHREAD) )) { throw new ArgumentException("Invalid flags."); @@ -337,11 +334,7 @@ /// <summary> /// Prevents this instance of the hook from receiving the events that are generated by threads in this process. This flag does not prevent threads from generating events. /// </summary> - SKIPOWNPROCESS = 0x0002, - /// <summary> - /// The DLL that contains the callback function is mapped into the address space of the process that generates the event. - /// </summary> - INCONTEXT = 0x0004 + SKIPOWNPROCESS = 0x0002 } /// <summary> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-12-08 22:10:08
|
Revision: 131 http://sourceforge.net/p/mwinapi/code/131 Author: schierlm Date: 2015-12-08 22:10:07 +0000 (Tue, 08 Dec 2015) Log Message: ----------- added property 'HookFlags' to 'AccessibleEventListener' % pushed from GitHub % Author: fk <enoon1 at arcor.de> % Date: Fri Dec 4 12:08:31 2015 +0100 Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs Modified: trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs 2015-07-07 15:14:52 UTC (rev 130) +++ trunk/ManagedWinapi/Accessibility/AccessibleObjectListener.cs 2015-12-08 22:10:07 UTC (rev 131) @@ -27,6 +27,7 @@ /// <summary> /// Listens to events from the Windows accessibility system. These events are useful /// if you want to write a screenreader or similar program. + /// For more information search the MSDN-documentation for the keyword 'WinEvents'. /// </summary> public class AccessibleEventListener : Component { @@ -43,6 +44,7 @@ private GCHandle gch; private UInt32 processId = 0; private UInt32 threadId = 0; + private AccessibleEventFlags hookFlags = AccessibleEventFlags.OUTOFCONTEXT; /// <summary> /// Initializes a new instance of this class with the specified container. @@ -119,6 +121,30 @@ set { threadId = value; updateListener(); } } + /// <summary> + /// The location of the hook function and of the events to be skipped. + /// </summary> + public AccessibleEventFlags HookFlags + { + get { return hookFlags; } + set + { + if (!( + value == AccessibleEventFlags.INCONTEXT || + value == AccessibleEventFlags.OUTOFCONTEXT || + value == (AccessibleEventFlags.OUTOFCONTEXT | AccessibleEventFlags.SKIPOWNPROCESS) || + value == (AccessibleEventFlags.OUTOFCONTEXT | AccessibleEventFlags.SKIPOWNTHREAD) || + value == (AccessibleEventFlags.INCONTEXT | AccessibleEventFlags.SKIPOWNPROCESS) || + value == (AccessibleEventFlags.INCONTEXT | AccessibleEventFlags.SKIPOWNTHREAD) + )) + { + throw new ArgumentException("Invalid flags."); + } + hookFlags = value; + updateListener(); + } + } + private void updateListener() { if (handle != IntPtr.Zero) @@ -128,7 +154,7 @@ } if (enabled) { - handle = SetWinEventHook(min, max, IntPtr.Zero, internalDelegate, processId, threadId, 0); + handle = SetWinEventHook(min, max, IntPtr.Zero, internalDelegate, processId, threadId, (uint)hookFlags); } } @@ -292,7 +318,33 @@ } } + /// <summary> + /// This enumeration lists Flag values that specify the location of the hook function and of the events to be skipped. + /// </summary> + [Flags] + public enum AccessibleEventFlags + { + + /// <summary> + /// The callback function is not mapped into the address space of the process that generates the event. + /// </summary> + OUTOFCONTEXT = 0x0000, + /// <summary> + /// Prevents this instance of the hook from receiving the events that are generated by the thread that is registering this hook. + /// </summary> + SKIPOWNTHREAD = 0x0001, + /// <summary> + /// Prevents this instance of the hook from receiving the events that are generated by threads in this process. This flag does not prevent threads from generating events. + /// </summary> + SKIPOWNPROCESS = 0x0002, + /// <summary> + /// The DLL that contains the callback function is mapped into the address space of the process that generates the event. + /// </summary> + INCONTEXT = 0x0004 + } + + /// <summary> /// This enumeration lists known accessible event types. /// </summary> public enum AccessibleEventType This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2015-07-07 15:14:55
|
Revision: 130 http://sourceforge.net/p/mwinapi/code/130 Author: ziewer Date: 2015-07-07 15:14:52 +0000 (Tue, 07 Jul 2015) Log Message: ----------- improved SystemWindow.TopMost setter: do not activate window when (un)setting topMost state Modified Paths: -------------- trunk/ManagedWinapi/Windows/SystemWindow.cs Modified: trunk/ManagedWinapi/Windows/SystemWindow.cs =================================================================== --- trunk/ManagedWinapi/Windows/SystemWindow.cs 2015-02-04 20:28:10 UTC (rev 129) +++ trunk/ManagedWinapi/Windows/SystemWindow.cs 2015-07-07 15:14:52 UTC (rev 130) @@ -572,11 +572,11 @@ { if (value) { - SetWindowPos(_hwnd, new IntPtr(-1), 0, 0, 0, 0, 3); + SetWindowPos(_hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); } else { - SetWindowPos(_hwnd, new IntPtr(-2), 0, 0, 0, 0, 3); + SetWindowPos(_hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); } } } @@ -1390,6 +1390,21 @@ private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); + // special values for hWndInsertAfter + static readonly IntPtr HWND_BOTTOM = new IntPtr(1); + static readonly IntPtr HWND_TOP = new IntPtr(0); + static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); + static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); + + // window sizing and positioning flags + const uint SWP_NOSIZE = 0x0001; + const uint SWP_NOMOVE = 0x0002; + const uint SWP_NOACTIVATE = 0x0010; + const uint SWP_DRAWFRAME = 0x0020; + const uint SWP_SHOWWINDOW = 0x0040; + const uint SWP_NOOWNERZORDER = 0x0200; + const uint SWP_ASYNCWINDOWPOS = 0x4000; + [DllImport("user32.dll")] private static extern IntPtr GetWindow(IntPtr hWnd, uint uCmd); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2015-02-04 20:28:17
|
Revision: 129 http://sourceforge.net/p/mwinapi/code/129 Author: ziewer Date: 2015-02-04 20:28:10 +0000 (Wed, 04 Feb 2015) Log Message: ----------- fixed error handling in constructor for 'SystemAccessibleObject' to support IBM/Lotus Notes Modified Paths: -------------- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs Modified: trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs =================================================================== --- trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2015-01-29 18:34:00 UTC (rev 128) +++ trunk/ManagedWinapi/Accessibility/SystemAccessibleObject.cs 2015-02-04 20:28:10 UTC (rev 129) @@ -68,8 +68,9 @@ childID = 0; } } - catch (ArgumentException) { } - catch (InvalidCastException) { } + //catch (ArgumentException) { } + //catch (InvalidCastException) { } + catch (Exception) { } // general error handling, e.g. IBM/Lotus Notes otherwise crashes with COMException here } this.iacc = iacc; this.childID = childID; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-01-29 18:34:05
|
Revision: 128 http://sourceforge.net/p/mwinapi/code/128 Author: schierlm Date: 2015-01-29 18:34:00 +0000 (Thu, 29 Jan 2015) Log Message: ----------- Add GitHub Fork Ribbon to website Modified Paths: -------------- trunk/website/index.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2015-01-27 22:52:13 UTC (rev 127) +++ trunk/website/index.html 2015-01-29 18:34:00 UTC (rev 128) @@ -5,8 +5,15 @@ <style type="text/css"> body {font-family: verdana, arial, helvetica, sans-serif;} </style> +<link rel="stylesheet" href="http://simonwhitaker.github.io/github-fork-ribbon-css/gh-fork-ribbon.css"> </head> <body> +<div style="float:right; width:120px; height: 120px;"> </div> +<div class="github-fork-ribbon-wrapper right"> + <div class="github-fork-ribbon"> + <a href="https://github.com/mwinapi/mwinapi">Fork me on GitHub</a> + </div> +</div> <h1>Managed Windows API</h1> <p><i>A collection of .NET components that wrap PInvoke calls to access native API by managed code.</i></p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2015-01-27 22:52:14
|
Revision: 127 http://sourceforge.net/p/mwinapi/code/127 Author: schierlm Date: 2015-01-27 22:52:13 +0000 (Tue, 27 Jan 2015) Log Message: ----------- Mirror repo to GitHub Added Paths: ----------- trunk/README.md trunk/svn.authors Added: trunk/README.md =================================================================== --- trunk/README.md (rev 0) +++ trunk/README.md 2015-01-27 22:52:13 UTC (rev 127) @@ -0,0 +1,6 @@ +ManagedWinapi +============= + +Website: http://mwinapi.sourceforge.net/ + +Mirrored Github Repo: https://github.com/mwinapi/mwinapi Added: trunk/svn.authors =================================================================== --- trunk/svn.authors (rev 0) +++ trunk/svn.authors 2015-01-27 22:52:13 UTC (rev 127) @@ -0,0 +1,11 @@ +bbauer = Bill Bauer <bb...@us...> +danielrose = Daniel Rose <dan...@us...> +frank_koch = Frank Koch <fra...@us...> +normanr = Norman Rasmussen <no...@us...> +poovenb = Poovendran Baccus <po...@us...> +schierlm = Michael Schierl <sch...@gm...> +ziewer = Peter Ziewer <zi...@in...> + + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zi...@us...> - 2014-11-27 09:40:01
|
Revision: 126 http://sourceforge.net/p/mwinapi/code/126 Author: ziewer Date: 2014-11-27 09:39:52 +0000 (Thu, 27 Nov 2014) Log Message: ----------- fixed SystemWindow.Rectangle for maximized windows with Windows Aero Glass to support multi screen setups Modified Paths: -------------- trunk/ManagedWinapi/Windows/SystemWindow.cs Modified: trunk/ManagedWinapi/Windows/SystemWindow.cs =================================================================== --- trunk/ManagedWinapi/Windows/SystemWindow.cs 2014-11-26 12:04:08 UTC (rev 125) +++ trunk/ManagedWinapi/Windows/SystemWindow.cs 2014-11-27 09:39:52 UTC (rev 126) @@ -756,23 +756,20 @@ RECT r = new RECT(); GetWindowRect(_hwnd, out r); - // GetWindowRect returns wrong values for maximized windows when using Windows Aero Glass desktop. - // see http://social.msdn.microsoft.com/Forums/en-US/windowsuidevelopment/thread/6c1c67a9-5548-4e9b-989f-c7dbac0b1375/ - // Reduce bounds by negative padding of "glass" pixels for maximized windows. - if ((Style & WindowStyleFlags.MAXIMIZE) > 0) + try { - // check whether top or left is negative - // check both to support dual screen setup where bounds.Left might be larger than 0 on right screen - int glass = Math.Min(r.Left, r.Top); - if (glass < 0) + // GetWindowRect returns wrong values for maximized windows when using Windows Aero Glass desktop + // because there is negative padding of "glass" pixels for maximized windows. + // see http://social.msdn.microsoft.com/Forums/en-US/windowsuidevelopment/thread/6c1c67a9-5548-4e9b-989f-c7dbac0b1375/ + // Limit miximized window size to working area of the corresponding desktop (supporting multi screen setups) + if ((Style & WindowStyleFlags.MAXIMIZE) > 0) { - // remove glass pixels from rectangle - r.Left -= glass; - r.Top -= glass; - r.Right += glass; - r.Bottom += glass; + foreach (var screen in Screen.AllScreens) + if (((Rectangle)r).Contains(screen.WorkingArea)) + return screen.WorkingArea; } } + catch { } // special handling should not cause failure return r; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |