首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在32位平台上pinvoke到GetWindowLongPtr和SetWindowLongPtr?

在32位平台上,pinvoke到GetWindowLongPtr和SetWindowLongPtr的方法如下:

首先,需要在C#代码中定义GetWindowLongPtr和SetWindowLongPtr的函数签名,这两个函数在32位平台上需要使用IntPtr类型的参数。

代码语言:csharp
复制
[DllImport("user32.dll", EntryPoint = "GetWindowLong")]
private static extern IntPtr GetWindowLongPtr32(IntPtr hWnd, int nIndex);

[DllImport("user32.dll", EntryPoint = "SetWindowLong")]
private static extern IntPtr SetWindowLongPtr32(IntPtr hWnd, int nIndex, IntPtr dwNewLong);

接下来,需要在C#代码中定义一个委托,用于将IntPtr类型的值转换为int类型的值。

代码语言:csharp
复制
private delegate int IntPtrToInt32(IntPtr intPtr);

然后,可以使用以下代码来实现pinvoke到GetWindowLongPtr和SetWindowLongPtr的功能:

代码语言:csharp
复制
public static IntPtr GetWindowLongPtr(IntPtr hWnd, int nIndex)
{
    if (IntPtr.Size == 8) // 64位平台
    {
        return GetWindowLongPtr64(hWnd, nIndex);
    }
    else // 32位平台
    {
        return GetWindowLongPtr32(hWnd, nIndex);
    }
}

public static IntPtr SetWindowLongPtr(IntPtr hWnd, int nIndex, IntPtr dwNewLong)
{
    if (IntPtr.Size == 8) // 64位平台
    {
        return SetWindowLongPtr64(hWnd, nIndex, dwNewLong);
    }
    else // 32位平台
    {
        return SetWindowLongPtr32(hWnd, nIndex, dwNewLong);
    }
}

在上述代码中,我们首先检查IntPtr.Size的值,如果是8,则表示当前平台是64位平台,调用GetWindowLongPtr64和SetWindowLongPtr64函数;如果是4,则表示当前平台是32位平台,调用GetWindowLongPtr32和SetWindowLongPtr32函数。

最后,可以使用以下代码来测试pinvoke到GetWindowLongPtr和SetWindowLongPtr的功能:

代码语言:csharp
复制
public static void Main(string[] args)
{
    IntPtr hWnd = new IntPtr(0x12345678);
    int nIndex = -12;
    IntPtr dwNewLong = new IntPtr(0x87654321);

    IntPtr result1 = GetWindowLongPtr(hWnd, nIndex);
    Console.WriteLine("GetWindowLongPtr result: " + result1);

    IntPtr result2 = SetWindowLongPtr(hWnd, nIndex, dwNewLong);
    Console.WriteLine("SetWindowLongPtr result: " + result2);
}

在上述代码中,我们创建了一个IntPtr类型的变量hWnd,并将其设置为0x12345678,创建了一个int类型的变量nIndex,并将其设置为-12,创建了一个IntPtr类型的变量dwNewLong,并将其设置为0x87654321。然后,我们调用GetWindowLongPtr和SetWindowLongPtr函数,并将结果打印到控制台上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows窗口对象的附加数据

一旦这种类型的窗口对象创建后就可以通过SetWindowLongPtr/GetWindowLongPtr两个函数来存放数据附加空间中或者从附加空间中获取数据了。...这两个函数的定义是: LONG_PTR SetWindowLongPtr( HWND hWnd, int nIndex, LONG_PTR dwNewLong ); LONG_PTR GetWindowLongPtr...( HWND hWnd, int nIndex ); 在SetWindowLongPtr/GetWindowLongPtr中是通过索引来访问附加数据的,每一次访问只能获取设置sizeof(LONG_PTR...用户数据空间的初始化赋值由CreateWindow函数的最后一个参数指定,当然也可以任何时候设置用户数据空间中的值,比如可以通过调用函数GetWindowLongPtr/SetWindowLongPtr...窗口属性只是用来存放数据的标识句柄,而不是数据本身。而当窗口被销毁时窗口所关联的属性所指向的内容不会销毁,需要进行手动的销毁,而且窗口在销毁前必须要手动消除跟窗口关联的属性。

1.4K20

Mono 把 .NET 应用程序移植 Linux

C# .NET 的目标是把您从底层的编程问题中解脱出来,类型安全问题、内存管理、库构造等,以便把精力集中构建应用程序业务逻辑上。从而可以帮助缩短开发周期。...Mono 运行在什么平台上? Mono 已经成功移植多种硬件平台上的 Linux、FreeBSD、Windows Mac OS X。估计涵盖了桌面市场的 99%。...为 SUSE、Red Hat Ubuntu 以及其他很多版本准备了现成的二进制安装包。基于源代码的发行版 Gentoo 也很容易获得,只需要很少的工作就能运行。...如果希望进一步了解 C# .NET 框架,下面列出了各种 参考资料,包括各种用于简化开发过程的集成开发环境 Eclipse Monodevelop 的参考资料。...MonoDevelop 项目将 SharpDevelop 移植 Gtk# 以便为 C# Mono 建立最完善的 UNIX 系统开发环境。

3.9K80

模拟隐蔽操作 - 动态调用(避免 PInvoke API 挂钩)

我们实施的每一项技术要么被观察被真实的威胁行为者在野外使用,被攻击性安全研究人员公开讨论过,要么是已经公开的技术的变体。这里没有漏洞利用。只是滥用功能可靠的操作技巧。...您所见,API Monitor 在使用 PInvoke 执行 API 调用时成功捕获了该调用。但是,当我们使用 DInvoke 或手动映射时,它不会成功。...顺便说一句,因为我们使用委托来执行原始机器代码,这也演示了如何在当前进程中执行 shellcode,同时传递参数并获取返回值。 注意:系统调用执行目前在 WOW64 进程中不起作用。...将 DInvoke 集成工具中 您可以通过今天下载 SharpSploit 来使用 DInvoke。...考虑一下您为如何在目标上加载执行代码所做的每个决定的操作权衡。您的设计决策基于这些权衡如何平衡以使您的工具不被捕获。

2K00

迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台

但是我不想让此项目绑定 Windows 平台上,不在 TargetFramework 上修改为 net6.0-windows 框架 此提示是在 .NET 的 SDK 的 Microsoft.NET.Sdk.DefaultItems.targets...,判断有使用 Windows Forms 或 WPF 就提示需要加上 Windows 平台 这里的判断是包括项目本身项目所依赖的所有项目库,只要有一个用到了,将会提示需要加上 Windows 平台...而我的项目不期望绑定 Windows 上,就需要去寻找是哪些依赖的项目或库使用到了 Windows Forms 或 WPF 项目 这里必须说明的是 WPF Windows Forms 在啥都不做的情况下...,包括 MONO 等都不使用的情况下,是可以有限的支持在 Linux MAC 环境下运行的。...只要不碰 Windows 相关平台的逻辑,包括 PInvoke 调用等,那么将可以很好运行 例如只是用到了 WPF 的一些结构体定义, Rect Size 等。

1.1K10

极客说--新一代大数据技术:构建PB级云端数仓实践

在现代社会中,随着4G光纤网络的普及、智能终端更清晰的摄像头更灵敏的传感器、物联网设备入网等等而产生的数据,导致了PB级储存的需求加大。...在这个大背景下,从公司战略产业生态,从学术研究生产实践,从城镇管理乃至国家治理,都将发生本质的变化。国家竞争力将部分体现为一国拥有数据的规模、活性以及解释、运用数据的能力。...本次云+社区极客说邀请了堵俊(腾讯云大数据基础团队负责人,大数据技术专家)来为大家介绍大数据领域最近的技术趋势,包含介绍Hadoop与Spark技术的最新进展。...并将通过一些实际的应用案例,来介绍腾讯大数据是如何在云上构建PB级的数据仓库,以及如何解决一些工程难题的。...,包括Apache Hadoop社区Committer & PMC 领导hadoop 2.6、2.8等应用非常广泛的社区release 曾领导开发多个Hadoop在云平台上优化与拓展的项目与产品 目前在腾讯致力于领导腾讯云大数据及人工智能产品研发

72160

干货 | 携程Taro多端化探索与实践

该文件既不能直接集成业务方(携程)RN、Web的框架中,也不能直接调用携程提供的业务组件,城市、日历、支付等。因此,开发者需要对Taro进行适配后,才能解决与现有框架融合的问题。...2) 多端组件API差异性 多端组件API在不同平台上可能存在一些差异,无法完全抹。每个平台有自己的特性限制,因此在开发多端应用时,需要对这些差异进行适配处理。...A端有此功能但B端没有 降级抹差异或差异抹 差异抹:各端实现各端,RN使用Flatlist,其它端使用scrollview降级抹:有的显示,没有的不显示,头部导航栏不存在小程序中 4.2...目前只能通过差异抹适配多端方法,牺牲其他端CSS灵活性。 ReactNative不支持CSS中的伪元素选择器。::before::after,因为它没有DOM元素并且不支持这些选择器。...另外一些样式等问题,大部分可以使用Babel插件(rn-style-transformer)来抹

84820

摩拜单车联合创始人&CTO夏一:骑行是一种情怀,更是科技的温度

那天晚上,摩拜单车联合创始人&CTO夏一在办公室待到夜里两点多,还特地放置点走了一遍,就怕有车被人搬走。在运营很长一段时间后,他发现没有想象的那么糟糕。...摩拜.jpg 从第一批在上海投放了200辆单车,如今全球800万辆单车的管理调度,摩拜做成了一单大生意。...作为摩拜单车联合创始人之一,提到当时创业的初衷,夏一说:“其实刚开始做这件事情,主要是想解决用户的痛点,更好的帮助他们连接家车站这段距离。...摩拜需要应对的是保证系统的稳定,实时处理用户数据,之后通过结构化用算法进行计算,再实时反馈摩拜的平台上。...目前,摩拜也在与腾讯云探索如何在物联网方面更加深入的合作。

74740

【丽影】深度学习是视频技术与人眼视觉连结的重要桥梁

我本身踏入多媒体领域,最早始自研究生阶段加入的数位影像实验室,二十年来,从影像、视频AI电脑视觉,从硬件、软件服务,经历了无数多媒体技术的盛衰兴废,深深体悟到任何成功的多媒体技术都离不开人,唯有拥抱创新...能否处理直播视频流或实时交互场景下的视频(视频会议)?...同时丽影也提供分布式转码能力,可以在5台上述机器上达到80%的效率,将速度提升到 2x real-time。...高孟:将部分丽影能力由服务端移植客户端是2019年Q3的重点规划,建立丽影平台的端云闭环能力,将重要能力放在最适合的地方,达到带宽与计算资源的最佳利用。...高孟:丽影输出的都是标准视频流,对客户端没有特别要求,也不需要对 CDN网络有特别的定制。 LiveVideoStack:丽影平台服务了腾讯内部外部哪些产品?

68320

高孟:深度学习是视频技术与人眼视觉连结的重要桥梁

文 / 高孟 策划 / LiveVideoStack 如果你对多媒体技术生态有话要说,输出观点与实践经验,欢迎联系 contribute@livevideostack.com。...能否处理直播视频流或实时交互场景下的视频(视频会议)?...同时丽影也提供分布式转码能力,可以在5台上述机器上达到80%的效率,将速度提升到 2x real-time。...高孟:将部分丽影能力由服务端移植客户端是2019年Q3的重点规划,建立丽影平台的端云闭环能力,将重要能力放在最适合的地方,达到带宽与计算资源的最佳利用。...高孟:丽影输出的都是标准视频流,对客户端没有特别要求,也不需要对 CDN网络有特别的定制。 LiveVideoStack:丽影平台服务了腾讯内部外部哪些产品?

78010

阿里达摩院 XR 实验室负责人谭离职

看得出 XR 实验室的靶点是近年来大火的元宇宙方向,而谭的主要研究领域正是搭建元宇宙骨架的三维建模全息技术研发。...同时在2019年2021年间,XR 实验室团队也在 CVPR, IROS,RAL, ICCV各类学术顶会发表多篇论文,主要关于三维建模、渲染、人机交互等领域。...在该演讲中,谭平分别向观众介绍了什么是元宇宙、元宇宙的技术构成以及当时的相关案例,通过三维重建技术构建的全息店铺,可让客户享受沉浸式购买体验;XR实验室与松美术馆合作的AR艺术展等案例。...在这次分享中,谭表示,本质上认为元宇宙是AR、VR眼镜上的整个互联网,是互联网在新计算平台上的一种呈现方式。...2000年,谭本科毕业,获得了上海交通大学应用数学计算机双学位。在本科的学习中,他认为数学偏理论,而他希望自己多做一些有应用价值的事情。

44440

业界 | 滴滴成立AI Labs加快人工智能推进全球智能交通技术发展

滴滴出行总裁柳青称,滴滴一直在用 AI 在解决人们出行问题,滴滴发力 AI,是希望每天人们的出行能更加便捷,每天有几千万的司机能在滴滴的平台上获得收入,每天能够有更多的人觉得出门是一件安全的事情。...我们也欢迎全球最顶级的人才加入滴滴,「在滴滴定义出行的这个过程里,AI Labs 也将帮助定义出行领域的技术边界。」...叶杰指出,大数据人工智能是未来交通创新的革命性技术,滴滴也早已在这些方面进行积极布局。...据叶杰介绍,除专注于 AI 领域前沿问题、深层次拓展滴滴的AI核心技术能力之外,AI Labs 还将积极加速技术能力与数据资源、应用环境的有机结合,推进 AI 技术在智能出行场景中的更多应用创新优化...,滴滴大脑、滴滴助手等。

77980

滴滴成立AI Labs 加大人工智能领域投入

滴滴AI Labs由滴滴副总裁叶杰教授领导,目前团队已有两百余位从事AI前沿技术研发的科学家和工程师,今年规模将进一步提升。...滴滴出行总裁柳青称,滴滴一直在用AI在解决人们出行问题,滴滴发力AI,是希望每天人们的出行能更加便捷,每天有几千万的司机能在滴滴的平台上获得收入,每天能够有更多的人觉得出门是一件安全的事情。...我们也欢迎全球最顶级的人才加入滴滴,“在滴滴定义出行的这个过程里,AI Labs也将帮助定义出行领域的技术边界。”...叶杰指出,大数据人工智能是未来交通创新的革命性技术,滴滴也早已在这些方面进行积极布局。...据叶杰介绍,除专注于AI领域前沿问题、深层次拓展滴滴的AI核心技术能力之外,AI Labs还将积极加速技术能力与数据资源、应用环境的有机结合,推进AI技术在智能出行场景中的更多应用创新优化,滴滴大脑

58070

业界 | 滴滴成立AI Labs:由副总裁叶杰教授领导

滴滴出行总裁柳青称,滴滴一直在用 AI 在解决人们出行问题,滴滴发力 AI,是希望每天人们的出行能更加便捷,每天有几千万的司机能在滴滴的平台上获得收入,每天能够有更多的人觉得出门是一件安全的事情。...我们也欢迎全球最顶级的人才加入滴滴,「在滴滴定义出行的这个过程里,AI Labs 也将帮助定义出行领域的技术边界。」...叶杰指出,大数据人工智能是未来交通创新的革命性技术,滴滴也早已在这些方面进行积极布局。...据叶杰介绍,除专注于 AI 领域前沿问题、深层次拓展滴滴的 AI 核心技术能力之外,AI Labs 还将积极加速技术能力与数据资源、应用环境的有机结合,推进 AI 技术在智能出行场景中的更多应用创新优化...,滴滴大脑、滴滴助手等,「AI Labs 致力于成为交通出行前沿技术的驱动者引领者人工智能人才的培养者,我们也将广泛吸引行业顶尖人才,共同推动全球 AI 技术的发展。」

617130

滴滴成立AI Labs:由副总裁叶杰教授领导

滴滴出行总裁柳青称,滴滴一直在用 AI 在解决人们出行问题,滴滴发力 AI,是希望每天人们的出行能更加便捷,每天有几千万的司机能在滴滴的平台上获得收入,每天能够有更多的人觉得出门是一件安全的事情。...我们也欢迎全球最顶级的人才加入滴滴,「在滴滴定义出行的这个过程里,AI Labs 也将帮助定义出行领域的技术边界。」...叶杰指出,大数据人工智能是未来交通创新的革命性技术,滴滴也早已在这些方面进行积极布局。...据叶杰介绍,除专注于 AI 领域前沿问题、深层次拓展滴滴的 AI 核心技术能力之外,AI Labs 还将积极加速技术能力与数据资源、应用环境的有机结合,推进 AI 技术在智能出行场景中的更多应用创新优化...,滴滴大脑、滴滴助手等,「AI Labs 致力于成为交通出行前沿技术的驱动者引领者人工智能人才的培养者,我们也将广泛吸引行业顶尖人才,共同推动全球 AI 技术的发展。」

61750

滴滴成立AI Labs 加大人工智能领域投入

滴滴AI Labs由滴滴副总裁叶杰教授领导,目前团队已有两百余位从事AI前沿技术研发的科学家和工程师,今年规模将进一步提升。...滴滴出行总裁柳青称,滴滴一直在用AI在解决人们出行问题,滴滴发力AI,是希望每天人们的出行能更加便捷,每天有几千万的司机能在滴滴的平台上获得收入,每天能够有更多的人觉得出门是一件安全的事情。...我们也欢迎全球最顶级的人才加入滴滴,“在滴滴定义出行的这个过程里,AI Labs也将帮助定义出行领域的技术边界。”...叶杰指出,大数据人工智能是未来交通创新的革命性技术,滴滴也早已在这些方面进行积极布局。...据叶杰介绍,除专注于AI领域前沿问题、深层次拓展滴滴的AI核心技术能力之外,AI Labs还将积极加速技术能力与数据资源、应用环境的有机结合,推进AI技术在智能出行场景中的更多应用创新优化,滴滴大脑

53940

Hadoop Meetup 现场直播

Hadoop如何在腾讯、阿里、滴滴、小米、美团、头条以及京东巧妙落地?有哪些新方向值得关注?Hadoop技术社区又将走向何方?...嘉宾:堵俊 腾讯TEG数据平台部海量存储与计算研发负责人,腾讯开源联盟主席,开源管理委员会委员。...YuniKorn-可适配YARNKubernetes的新一代轻量级资源调度器 YuniKorn是一个经过全新设计的轻量级的分布式系统资源调度器,能够比较容易的集成YARN或者Kubernetes里面...为了讲调度器本身与资源管理平台(YARNKubernetes)解耦,YuniKorn抽象了一层通用的调度器协议接口;而调度核心算法封装在yunikorn-core组件中,实现了经典的层级调度队列,公平调度...,弹性的容量管控以及细粒度的强占等特性;yunikorn-core通过寄宿在资源管理平台上的shim层来获得请求的更新,派发调度的决策,而所有的沟通都是使用scheduler-interface。

89240

滴滴AI负责人叶杰:你的每一次出行,都已有AI落地的助力 | MEET 2020

他的演讲着重介绍了人工智能如何在出行领域落地,并创造价值。 其中,既谈到了未来交通的愿景,也有贴近生活的AI技术落地案例,还谈到了产业生态带来的价值。 ?...据叶杰教授介绍,滴滴每天新增超过100T的轨迹数据。 这是个什么概念呢?举个例子,如果把北京滴滴的轨迹全部集中在一起,基本上可以覆盖北京所有道路300400次。数据可谓海量。 ?...滴滴目前已开源大量落地应用的NLP技术,深度学习模型框架delta开源地址如下: https://github.com/didi/delta 除了NLP,语音识别人脸识别技术也集成到了滴滴的系统之中...原来,这两个点在国庆期间是很多旅游大巴的起始点,很多人是先到大巴点,然后才北京各个地方旅游。 ? 叶杰介绍,未来他们还准备做更多类似的分析,找到出行数据背后隐藏的不为人知的一些规律。...合作生态,团结更多力量让出行更美好 最后,叶杰谈到,基于在出行领域的经年积累与行业洞察,滴滴意识不管在出行行业,还是其他领域,很多痛点难点急需技术的变革推动,以及产业链上各合作伙伴的共同努力 因此

48210

首届Hadoop技术社区中国meetup来袭!对外报名正式启动!

这些年来,Hadoop如何在腾讯、阿里、滴滴、小米、美团、头条以及京东巧妙落地?在全新的时期,有哪些方向值得关注?Hadoop技术社区又将走向何方?...Submarine:跨平台的一站式机器学习平台 14:15-18:30  Hadoop在滴滴,小米,美团,头条以及京东的落地实践 讲师及议题 >>>>Hadoop社区与技术RoadMap 演讲嘉宾:堵俊-...议题简介:YuniKorn是一个经过全新设计的轻量级的分布式系统资源调度器,能够比较容易的集成YARN或者Kubernetes里面,以承担资源调度的职责。...为了讲调度器本身与资源管理平台(YARNKubernetes)解耦,YuniKorn抽象了一层通用的调度器协议接口;而调度核心算法封装在yunikorn-core组件中,实现了经典的层级调度队列,公平调度...,弹性的容量管控以及细粒度的强占等特性;yunikorn-core通过寄宿在资源管理平台上的shim层来获得请求的更新,派发调度的决策,而所有的沟通都是使用scheduler-interface。

1.3K40

离开国内互联网大厂后,AI 科学家能去哪里?

AI科技评论获悉,原阿里达摩院XR实验室负责人谭在去年离职以后已经入职香港科技大学电子与计算机工程系(ECE)机器人研究所(Robotics Institute),担任正教授。...硕士毕业后,谭香港科技大学读博,师从权龙,开始深入研究计算机视觉,为日后在3D视觉领域的建树打下了基础。...所研究的3D视觉,在国内的研究领域并没有受到足够重视。...目前Alex Smola李沐的LinkedIn资料上所在公司依然显示为「Amazon」。 针对这一行业问题,国内近年来也成立了各类人工智能实验室,北京智源人工智能研究院、上海人工智能实验室等。...AI 人才从大厂离开,有个人原因,也有外部环境的影响,金榕,梅涛。

93810

我想私域流量的关键,是理解这几个信息

在深聊时,我们将话题聚焦在“如何在解决客户需求”这一视角下,着重聊“用好私域流量”。 冯认为,私域流量不是工具思维,而是一种品牌的IP思维——IP品牌(商品)之间的关系。...顺着这个逻辑,私域流量的价值,是具体如何在微信上通过他们的方法技术发挥作用的呢?不妨,见实一起回到与冯的对话中来,看看她的理解运用。 对了,这段时间,见实一直在高度关注“私域流量”这件事。...如果你也在这个领域创业,不妨见实坐下来深聊,一起更多从业者深度碰撞下。 冯:《私域流量》书籍第一作者/上海微原那科技联合创始人 见实:现在做“私域流量”的,很多都被封了。这事真的能成?...现在很多人用的“清粉”也是,用微信群发消息功能,平时微信只能发二百个消息,但清粉突破了二百个,还可以再次一键删除,这个也是微信没有的。 见实:你们呢?做私域流量的形式技术是怎样的?...首先是遵从产品属性,再从交情过度交易,在我看来,有的能走完这个路径,有的走不完,就挂掉了。

51700
领券